I am using the latest cvs of Torque with Fulcrum and T3. With all my business objects, my key generator is turning up to be null at line 763, so there is no id broker for them to use:
DatabaseMap dbMap = Torque.getDatabaseMap( criteria.getDbName() ); TableMap tableMap = dbMap.getTable(tableName); Object keyInfo = tableMap.getPrimaryKeyMethodInfo(); IdGenerator keyGen = tableMap.getIdGenerator(); ^^^^^ -> null The result is a NPE a few lines down. I can't figure out why this is! I've been through the debugger and all my TableMap's primaryKeyMethod variables are "idbroker." But, when the tablemap looks up the idgenerator in the database map, its turns out to be null. Stack Trace: java.lang.reflect.InvocationTargetException: java.lang.Exception: IdGenerator for table 'PROJECT_TASK' is null at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:779) at org.compassarts.basecamp.om.BaseProjectTaskPeer.doInsert(BaseProjectTaskPeer.java:178) at org.compassarts.basecamp.om.BaseProjectTaskPeer.doInsert(BaseProjectTaskPeer.java:452) at org.compassarts.basecamp.om.BaseProjectTask.save(BaseProjectTask.java:781) at org.compassarts.basecamp.om.BaseProjectTask.save(BaseProjectTask.java:746) at org.compassarts.basecamp.om.BaseProjectTask.save(BaseProjectTask.java:729) Any ideas? I'm guessing its probably a stupid error of some sort, but I can't put any new data into my databases until its fixed! Here's parts of my schema and Fulcrum.properties. Thanks, - Dan Diephouse services.DatabaseService.database.default=default services.DatabaseService.database.default.driver=org.gjt.mm.mysql.Driver services.DatabaseService.database.default.url=jdbc:mysql://127.0.0.1:3306/db services.DatabaseService.database.default.username=user services.DatabaseService.database.default.password=pass services.DatabaseService.database.default.maxConnections=3 services.DatabaseService.database.default.expiryTime=3600000 services.DatabaseService.database.connectionWaitTimeout=10000 services.DatabaseService.database.logInterval=0 services.DatabaseService.database.adapter=DBMM services.DatabaseService.database.adapter.DBMM=org.gjt.mm.mysql.Driver ------------------------- <?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> <!DOCTYPE database SYSTEM "file:/home/dan/WDev/tdk/webapps/basecamp/WEB-INF/torque/database.dtd"> <database name="default" defaultIdMethod="idbroker"> <table name="PROJECT_PHASE"> <column name="PROJECT_PHASE_ID" required="true" primaryKey="true" type="INTEGER"/> <column name="NAME" size="255" type="VARCHAR"/> <column name="JOB_ID" type="INTEGER"/> <column name="START_DATE" type="DATE"/> <column name="END_DATE" type="DATE"/> <foreign-key foreignTable="JOB"> <reference local="JOB_ID" foreign="JOB_ID"/> </foreign-key> </table> <table name="PROJECT_TASK"> <column name="PROJECT_TASK_ID" required="true" primaryKey="true" type="INTEGER"/> <column name="NAME" size="255" type="VARCHAR"/> <column name="DESCR" type="LONGVARCHAR"/> <column name="PROJECT_PHASE_ID" type="INTEGER"/> <column name="START_DATE" type="DATE"/> <column name="END_DATE" type="DATE"/> <column name="TASK_STATUS_ID" type="INTEGER"/> <foreign-key foreignTable="TASK_STATUS"> <reference local="TASK_STATUS_ID" foreign="TASK_STATUS_ID"/> </foreign-key> <foreign-key foreignTable="PROJECT_PHASE"> <reference local="PROJECT_PHASE_ID" foreign="PROJECT_PHASE_ID"/> </foreign-key> </table> </database> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>