Thanks Erik,
I'm trying to run a
test jdo project using EclipseJDO as a plugin for Eclipse 2.1 as instructed at url,
http://jpox.sourceforge.net/user-docs/eclipseJDO/Tutorial-EclipseJDO.html I'm using eclipse 2.1.
I've followed all the steps listed in this html.
The enhancer works fine, but when it try to run the Main class, I get error,
java.lang.NullPointerException
at org.jpox.poid.MaxPoidGenerator.reserveBlock(MaxPoidGenerator.java:73)
at org.jpox.poid.PoidManager.getPoidBlock(PoidManager.java:63)
at org.jpox.poid.PoidManager.getPoid(PoidManager.java:38)
at org.jpox.store.StoreManager$2.execute(StoreManager.java:1048)
at org.jpox.store.StoreManager$MgmtTransaction.execute(StoreManager.java:1619)
at org.jpox.store.StoreManager.getNextOID(StoreManager.java:1053)
at org.jpox.store.table.JDOBaseTable.newOID(JDOBaseTable.java:69)
at org.jpox.store.StoreManager.newObjectID(StoreManager.java:981)
at org.jpox.state.StateManagerImpl.<init>(StateManagerImpl.java:267)
at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:712)
at org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:733)
at model.Main.main(Main.java:29)
java.lang.NullPointerException
at org.jpox.store.table.JDOBaseTable.newOID(JDOBaseTable.java:84)
at org.jpox.store.StoreManager.newObjectID(StoreManager.java:981)
at org.jpox.state.StateManagerImpl.<init>(StateManagerImpl.java:267)
at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:712)
at org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:733)
at model.Main.main(Main.java:29)
Exception in
thread "main"
I'm using com.versant.eclipse.jdo_0.9.7.zip and com.versant.eclipse.jdo.jpox_0.9.7.zip as plugins.
My class,
--------
public class Inv {
String name;
String value;
public void setName(String nm)
{
name = nm;
}
public String getName(){
return name;
}
public void setValue(String val){
value = val;
}
public String getValue(){
return value;
}
}
Inv.jdo file
-------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jdo SYSTEM "file:/javax/jdo/jdo.dtd">
<jdo>
<package name="model">
<class name="Inv">
<field name="name" persistence-modifier="persistent"/>
<field name="value" persistence-modifier="persistent"/>
</class>
</package>
</jdo>
Main class
----------
public class Main {
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("javax.jdo.PersistenceManagerFactoryClass", "org.jpox.PersistenceManagerFactoryImpl");
properties.setProperty("javax.jdo.option.ConnectionURL", "jdbc
racle:thin:@T00328588:1521
evk");
properties.setProperty("javax.jdo.option.ConnectionDriverName","oracle.jdbc.driver.OracleDriver");
properties.setProperty("javax.jdo.option.ConnectionUserName","scott");
properties.setProperty("javax.jdo.option.ConnectionPassword","tiger");
properties.setProperty("org.jpox.autoCreateTables","true");
properties.setProperty("org.jpox.validateTables","false");
properties.setProperty("org.jpox.validateConstraints","false");
PersistenceManagerFactory pmfactory = JDOHelper.getPersistenceManagerFactory(properties);
PersistenceManager pm = pmfactory.getPersistenceManager();
Transaction tx = pm.currentTransaction();
tx.begin();
Inv inv = new Inv();
inv.setName("HardDisk");
inv.setValue("150");
pm.makePersistent(inv);
tx.commit();
pm.close();
}
}
Oracle table
------------
NAME VARCHAR2(10)
VALUE VARCHAR2(10)
Kindly address me where I'm doing wrong.
Sorry for such a long question.
Regards,
Kalpesh