Note that there are some explanatory texts on larger screens.

plurals
  1. POJDO - datanucleus - HSQL error
    text
    copied!<p>For my current project I have to use HSQL-JDO. I am writting sample application to check how this work. If I am using HSQL with jdbc (without any orm) my code run fine. But with JDO I am getting "socket creation error"</p> <p><code> [Server@187a84e4]: [Thread[main,5,main]]: checkRunning(false) entered [Server@187a84e4]: [Thread[main,5,main]]: checkRunning(false) exited [Server@187a84e4]: [Thread[main,5,main]]: checkRunning(false) entered [Server@187a84e4]: [Thread[main,5,main]]: checkRunning(false) exited [Server@187a84e4]: [Thread[main,5,main]]: checkRunning(false) entered [Server@187a84e4]: [Thread[main,5,main]]: checkRunning(false) exited [Server@187a84e4]: [Thread[main,5,main]]: checkRunning(false) entered [Server@187a84e4]: [Thread[main,5,main]]: checkRunning(false) exited JdbcOdbcDriver class loaded registerDriver: driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@a13f991] DriverManager.initialize: jdbc.drivers = null JDBC DriverManager initialized registerDriver: driver[className=org.hsqldb.jdbcDriver,org.hsqldb.jdbcDriver@44e06940] DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:8974/test_db") trying driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@a13f991] *Driver.connect (jdbc:hsqldb:hsql://localhost:8974/test_db) trying driver[className=org.hsqldb.jdbcDriver,org.hsqldb.jdbcDriver@44e06940] SQLState(08000) vendor code(-80) java.sql.SQLException: socket creation error at org.hsqldb.jdbc.Util.sqlException(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbcDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:78) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1158) at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106) at org.datanucleus.store.rdbms.ConnectionFactoryImpl$ManagedConnectionImpl.getConnection(ConnectionFactoryImpl.java:444) at org.datanucleus.store.rdbms.RDBMSStoreManager.(RDBMSStoreManager.java:264) </code></p> <p>Here is the code in main <code> Server server = new Server(); server.setAddress("localhost"); server.setDatabaseName(0, "test_db"); server.setDatabasePath(0, "test_db"); server.setPort(8974); server.setTrace(true);</p> <pre><code> Properties properties = new Properties(); properties.setProperty("javax.jdo.PersistenceManagerFactoryClass","org.datanucleus.api.jdo.JDOPersistenceManagerFactory"); properties.setProperty("javax.jdo.option.ConnectionDriverName","org.hsqldb.jdbcDriver"); properties.setProperty("javax.jdo.option.ConnectionURL","jdbc:hsqldb:hsql://localhost:8974/test_db"); properties.setProperty("javax.jdo.option.ConnectionUserName","SA"); properties.setProperty("javax.jdo.option.ConnectionPassword",""); properties.setProperty("javax.jdo.option.ConnectionPassword",""); properties.setProperty("datanucleus.autoCreateSchema","true"); properties.setProperty("datanucleus.validateTables","false"); properties.setProperty("datanucleus.validateConstraints","false"); PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(properties); PersistenceManager pm = pmf.getPersistenceManager(); Transaction tx=pm.currentTransaction(); tx.begin(); pm.makePersistent(new Session("aniruddha")); tx.commit(); Query q = pm.newQuery("SELECT FROM "+Session.class.getName()); List&lt;Session&gt; sessions = (List&lt;Session&gt;)q.execute(); //Iterator&lt;Session&gt; iter = sessions.iterator(); for(Session s : sessions){ System.out.println(s.getSESSION_ID()+" : "+s.getSESSION_USERNAME()); } </code></pre> <p></code></p> <p>Here is the bean that I want to persist</p> <p><code> @PersistenceCapable public class Session { private Session(){ // Default constructor required by jdo } public Session(String session_username){ SESSION_USERNAME = session_username; }</p> <pre><code>public long getSESSION_ID() { return SESSION_ID; } public String getSESSION_USERNAME() { return SESSION_USERNAME; } public void setSESSION_ID(long sESSION_ID) { SESSION_ID = sESSION_ID; } public void setSESSION_USERNAME(String sESSION_USERNAME) { SESSION_USERNAME = sESSION_USERNAME; } @PrimaryKey @Persistent(valueStrategy=IdGeneratorStrategy.INCREMENT) private long SESSION_ID; private String SESSION_USERNAME; </code></pre> <p>} </code></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload