Hello Everett
Some objects extend xPDOObject while others extend xPDOSimpleObject.
Using xPDOSimpleObject allows you to not specifiy a id column in your table as primary key. xPDOSimpleObject "auto-generate" the id column as primary key (with a name of "id") so you don’t mention the ID field (column) in your schema
<object class="modExtraItem" table="modextra_items" extends="xPDOSimpleObject">
<field key="name" dbtype="varchar" precision="100" phptype="string" null="false" default="" />
<field key="description" dbtype="text" phptype="text" null="false" default="" />
</object>
Even if not written in the schema this object has a field called "id" that is a primary key, this is possible because it extends xPDOSimpleObject
If you want the same object extending xPDOObject you have to specify which column is used as Primary key (it can be an additional field named "id" or an existing field)
Hope this can help you, and sorry for my english ...