<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3059" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN 
class=349144921-04042007>Hi,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=349144921-04042007></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=349144921-04042007>I am writing an 
application which Hibernate to map spatial objects like geometry to postgis. 
That works very well with a Hibernate User Type for Geometry types such as 
Point, etc.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=349144921-04042007>Now, I am trying to 
adapt the org.postgis.hibernate.GeometryType implementation to make it work for 
org.postgis.PGbox3d. However since the BinaryParser and Writer doesn't support 
boxes I don't know which type mapping I should use. For example just writing a 
string in the <FONT size=2>nullSafeGet and <FONT size=2>nullSafeSet doesn't 
work. I always get a SQLGrammerException. </FONT></FONT></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=349144921-04042007>Does anyone has 
similar problems or ideas. Thanks for help!!</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=349144921-04042007>Here is the detailed 
implementation of my <FONT size=2>Box3DType hibernate custom type and the 
exception I get.</FONT></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=349144921-04042007></SPAN></FONT> </DIV>
<DIV><FONT><SPAN class=349144921-04042007><B><FONT color=#7f0055>
<P align=left><FONT face=Arial size=2>public</FONT></B></FONT><FONT 
face=Arial><FONT size=2> <B><FONT 
color=#7f0055>class</B></FONT></FONT></FONT><FONT face=Arial><FONT size=2> 
Box3DType <B><FONT color=#7f0055>implements</B></FONT></FONT></FONT><FONT 
face=Arial size=2> UserType {</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>private</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>static</B></FONT></FONT></FONT><FONT face=Arial><FONT size=2> 
<B><FONT color=#7f0055>final</B></FONT></FONT></FONT><FONT face=Arial><FONT 
size=2> <B><FONT color=#7f0055>int</B></FONT></FONT></FONT><FONT 
face=Arial><FONT size=2>[] <I><FONT 
color=#0000c0>SQL_TYPES</I></FONT></FONT></FONT><FONT face=Arial><FONT size=2> = 
{ Types.<I><FONT color=#0000c0>OTHER</I></FONT></FONT></FONT><FONT face=Arial 
size=2> };</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial size=2> Object 
assemble(Serializable cached, Object owner)</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>throws</FONT></B></FONT><FONT face=Arial size=2> HibernateException 
{</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial size=2> cached;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial><FONT size=2> Object 
deepCopy(Object value) <B><FONT 
color=#7f0055>throws</B></FONT></FONT></FONT><FONT face=Arial size=2> 
HibernateException {</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial size=2> value;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial><FONT size=2> Serializable 
disassemble(Object value) <B><FONT 
color=#7f0055>throws</B></FONT></FONT></FONT><FONT face=Arial size=2> 
HibernateException {</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial size=2> (Serializable) 
value;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>boolean</B></FONT></FONT></FONT><FONT face=Arial><FONT size=2> 
equals(Object x, Object y) <B><FONT 
color=#7f0055>throws</B></FONT></FONT></FONT><FONT face=Arial size=2> 
HibernateException {</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>if</FONT></B></FONT><FONT face=Arial size=2> (x == y) {</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>true</B></FONT></FONT></FONT><FONT face=Arial size=2>;</FONT></P>
<P align=left><FONT size=2><FONT face=Arial>} </FONT><B><FONT 
color=#7f0055><FONT face=Arial>else</FONT></B></FONT></FONT><FONT 
face=Arial><FONT size=2> <B><FONT color=#7f0055>if</B></FONT></FONT></FONT><FONT 
face=Arial><FONT size=2> (x == <B><FONT 
color=#7f0055>null</B></FONT></FONT></FONT><FONT face=Arial><FONT size=2> || y 
== <B><FONT color=#7f0055>null</B></FONT></FONT></FONT><FONT face=Arial size=2>) 
{</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>false</B></FONT></FONT></FONT><FONT face=Arial size=2>;</FONT></P>
<P align=left><FONT size=2><FONT face=Arial>} </FONT><B><FONT 
color=#7f0055><FONT face=Arial>else</FONT></B></FONT></FONT><FONT face=Arial 
size=2> {</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial size=2> x.equals(y);</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>int</B></FONT></FONT></FONT><FONT face=Arial><FONT size=2> 
hashCode(Object arg0) <B><FONT 
color=#7f0055>throws</B></FONT></FONT></FONT><FONT face=Arial size=2> 
HibernateException {</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial size=2> 0;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>boolean</B></FONT></FONT></FONT><FONT face=Arial size=2> 
isMutable() {</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>false</B></FONT></FONT></FONT><FONT face=Arial size=2>;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT><FONT color=#3f7f5f></P></FONT>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial size=2> Object 
nullSafeGet(ResultSet resultSet, String[] names, Object owner)</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>throws</FONT></B></FONT><FONT face=Arial size=2> HibernateException, 
SQLException {</FONT></P>
<P align=left><FONT size=2><FONT face=Arial>PGbox3d result = </FONT><B><FONT 
color=#7f0055><FONT face=Arial>null</FONT></B></FONT></FONT><FONT face=Arial 
size=2>;</FONT></P>
<P align=left><FONT face=Arial size=2>String box3d = 
resultSet.getString(names[0]);</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>if</FONT></B></FONT><FONT face=Arial><FONT size=2> (box3d != <B><FONT 
color=#7f0055>null</B></FONT></FONT></FONT><FONT face=Arial size=2>) 
{</FONT></P>
<P align=left><FONT size=2><FONT face=Arial>result = </FONT><B><FONT 
color=#7f0055><FONT face=Arial>new</FONT></B></FONT></FONT><FONT face=Arial 
size=2> PGbox3d(box3d);</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial size=2> result;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>void</B></FONT></FONT></FONT><FONT face=Arial><FONT size=2> 
nullSafeSet(PreparedStatement statement, Object value, <B><FONT 
color=#7f0055>int</B></FONT></FONT></FONT><FONT face=Arial size=2> 
index)</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>throws</FONT></B></FONT><FONT face=Arial size=2> HibernateException, 
SQLException {</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>if</FONT></B></FONT><FONT face=Arial><FONT size=2> (value == <B><FONT 
color=#7f0055>null</B></FONT></FONT></FONT><FONT face=Arial size=2>) 
{</FONT></P>
<P align=left><FONT size=2><FONT face=Arial>statement.setString(index, 
</FONT><B><FONT color=#7f0055><FONT 
face=Arial>null</FONT></B></FONT></FONT><FONT face=Arial size=2>);</FONT></P>
<P align=left><FONT size=2><FONT face=Arial>} </FONT><B><FONT 
color=#7f0055><FONT face=Arial>else</FONT></B></FONT></FONT><FONT face=Arial 
size=2> {</FONT></P>
<P align=left><FONT face=Arial size=2>PGbox3d box = (PGbox3d) value;</FONT></P>
<P align=left><FONT face=Arial size=2>statement.setString(index, 
box.getValue());</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial size=2> Object replace(Object 
original, Object target, Object owner)</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>throws</FONT></B></FONT><FONT face=Arial size=2> HibernateException 
{</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial size=2> original;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial size=2> Class returnedClass() 
{</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial><FONT size=2> PGbox3d.<B><FONT 
color=#7f0055>class</B></FONT></FONT></FONT><FONT face=Arial size=2>;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>public</FONT></B></FONT><FONT face=Arial><FONT size=2> <B><FONT 
color=#7f0055>int</B></FONT></FONT></FONT><FONT face=Arial size=2>[] sqlTypes() 
{</FONT></P>
<P align=left><B><FONT color=#7f0055><FONT face=Arial 
size=2>return</FONT></B></FONT><FONT face=Arial><FONT size=2> Box3DType.<I><FONT 
color=#0000c0>SQL_TYPES</I></FONT></FONT></FONT><FONT face=Arial 
size=2>;</FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT></P>
<P align=left><FONT face=Arial size=2>}</FONT></P>
<P align=left><FONT face=Arial size=2></FONT> </P>
<P align=left><SPAN class=349144921-04042007><FONT face=Arial size=2>Exception 
Output:</FONT></SPAN></P>
<P align=left><SPAN class=349144921-04042007></SPAN><SPAN 
class=349144921-04042007><U><FONT color=#000080 
size=2>javax.persistence.RollbackException</U></FONT><FONT color=#ff0000 
size=2>: Error while commiting the transaction</P>
<P align=left>at org.hibernate.ejb.TransactionImpl.commit(</FONT><U><FONT 
color=#000080 size=2>TransactionImpl.java:63</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
com.siemens.fsp.gmg.gisdata.PostGisDBAccessStandaloneTest.testCreateGisCollection(</FONT><U><FONT 
color=#000080 size=2>PostGisDBAccessStandaloneTest.java:494</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at sun.reflect.NativeMethodAccessorImpl.invoke0(</FONT><U><FONT 
color=#000080 size=2>Native Method</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at sun.reflect.NativeMethodAccessorImpl.invoke(</FONT><U><FONT 
color=#000080 size=2>NativeMethodAccessorImpl.java:39</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at sun.reflect.DelegatingMethodAccessorImpl.invoke(</FONT><U><FONT 
color=#000080 size=2>DelegatingMethodAccessorImpl.java:25</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at java.lang.reflect.Method.invoke(</FONT><U><FONT color=#000080 
size=2>Method.java:585</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at junit.framework.TestCase.runTest(</FONT><U><FONT color=#000080 
size=2>TestCase.java:154</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at junit.framework.TestCase.runBare(</FONT><U><FONT color=#000080 
size=2>TestCase.java:127</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at junit.framework.TestResult$1.protect(</FONT><U><FONT 
color=#000080 size=2>TestResult.java:106</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at junit.framework.TestResult.runProtected(</FONT><U><FONT 
color=#000080 size=2>TestResult.java:124</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at junit.framework.TestResult.run(</FONT><U><FONT color=#000080 
size=2>TestResult.java:109</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at junit.framework.TestCase.run(</FONT><U><FONT color=#000080 
size=2>TestCase.java:118</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at junit.framework.TestSuite.runTest(</FONT><U><FONT color=#000080 
size=2>TestSuite.java:208</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at junit.framework.TestSuite.run(</FONT><U><FONT color=#000080 
size=2>TestSuite.java:203</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at 
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(</FONT><U><FONT 
color=#000080 size=2>JUnit3TestReference.java:128</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(</FONT><U><FONT 
color=#000080 size=2>TestExecution.java:38</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(</FONT><U><FONT 
color=#000080 size=2>RemoteTestRunner.java:460</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(</FONT><U><FONT 
color=#000080 size=2>RemoteTestRunner.java:673</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(</FONT><U><FONT 
color=#000080 size=2>RemoteTestRunner.java:386</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(</FONT><U><FONT 
color=#000080 size=2>RemoteTestRunner.java:196</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>Caused by: </FONT><U><FONT color=#000080 
size=2>org.hibernate.exception.SQLGrammarException</U></FONT><FONT color=#ff0000 
size=2>: Could not execute JDBC batch update</P>
<P align=left>at 
org.hibernate.exception.SQLStateConverter.convert(</FONT><U><FONT color=#000080 
size=2>SQLStateConverter.java:67</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at 
org.hibernate.exception.JDBCExceptionHelper.convert(</FONT><U><FONT 
color=#000080 size=2>JDBCExceptionHelper.java:43</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at org.hibernate.jdbc.AbstractBatcher.executeBatch(</FONT><U><FONT 
color=#000080 size=2>AbstractBatcher.java:249</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.hibernate.jdbc.AbstractBatcher.prepareStatement(</FONT><U><FONT 
color=#000080 size=2>AbstractBatcher.java:92</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.hibernate.jdbc.AbstractBatcher.prepareStatement(</FONT><U><FONT 
color=#000080 size=2>AbstractBatcher.java:87</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(</FONT><U><FONT 
color=#000080 size=2>AbstractBatcher.java:218</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(</FONT><U><FONT 
color=#000080 size=2>AbstractEntityPersister.java:2159</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(</FONT><U><FONT 
color=#000080 size=2>AbstractEntityPersister.java:2595</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at org.hibernate.action.EntityInsertAction.execute(</FONT><U><FONT 
color=#000080 size=2>EntityInsertAction.java:51</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at org.hibernate.engine.ActionQueue.execute(</FONT><U><FONT 
color=#000080 size=2>ActionQueue.java:248</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at org.hibernate.engine.ActionQueue.executeActions(</FONT><U><FONT 
color=#000080 size=2>ActionQueue.java:232</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at org.hibernate.engine.ActionQueue.executeActions(</FONT><U><FONT 
color=#000080 size=2>ActionQueue.java:139</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(</FONT><U><FONT 
color=#000080 size=2>AbstractFlushingEventListener.java:298</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at 
org.hibernate.event.def.DefaultFlushEventListener.onFlush(</FONT><U><FONT 
color=#000080 size=2>DefaultFlushEventListener.java:27</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at org.hibernate.impl.SessionImpl.flush(</FONT><U><FONT 
color=#000080 size=2>SessionImpl.java:1000</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at org.hibernate.impl.SessionImpl.managedFlush(</FONT><U><FONT 
color=#000080 size=2>SessionImpl.java:338</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.hibernate.transaction.JDBCTransaction.commit(</FONT><U><FONT color=#000080 
size=2>JDBCTransaction.java:106</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at org.hibernate.ejb.TransactionImpl.commit(</FONT><U><FONT 
color=#000080 size=2>TransactionImpl.java:53</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>... 19 more</P>
<P align=left>Caused by: </FONT><U><FONT color=#000080 
size=2>java.sql.BatchUpdateException</U></FONT><FONT color=#ff0000 size=2>: 
Batch entry 0 insert into box (dataStatus, importLocalityMO, importSRID, box, 
importedBox, id) values (123, TestImportMOBox, 32632, "BOX3D(101 102,203 204)", 
"BOX3D(101 102,203 204)", 01c98a7a11be89d90111be89e9620010) was aborted. Call 
</FONT><U><FONT color=#000080 size=2>getNextException</U></FONT><FONT 
color=#ff0000 size=2> to see the cause.</P>
<P align=left>at 
org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(</FONT><U><FONT 
color=#000080 size=2>AbstractJdbc2Statement.java:2497</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at 
org.postgresql.core.v3.QueryExecutorImpl$1.handleError(</FONT><U><FONT 
color=#000080 size=2>QueryExecutorImpl.java:399</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.postgresql.core.v3.QueryExecutorImpl.processResults(</FONT><U><FONT 
color=#000080 size=2>QueryExecutorImpl.java:1298</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P align=left>at 
org.postgresql.core.v3.QueryExecutorImpl.execute(</FONT><U><FONT color=#000080 
size=2>QueryExecutorImpl.java:347</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(</FONT><U><FONT 
color=#000080 size=2>AbstractJdbc2Statement.java:2559</U></FONT><FONT 
color=#ff0000 size=2>)</P>
<P align=left>at 
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(</FONT><U><FONT color=#000080 
size=2>BatchingBatcher.java:48</U></FONT><FONT color=#ff0000 size=2>)</P>
<P align=left>at org.hibernate.jdbc.AbstractBatcher.executeBatch(</FONT><U><FONT 
color=#000080 size=2>AbstractBatcher.java:242</U></FONT><FONT color=#ff0000 
size=2>)</P>
<P>... 34 more</P></FONT></SPAN></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=349144921-04042007></SPAN></FONT> </DIV>
<DIV align=left>
<DIV align=left>
<DIV align=left><STRONG><FONT face=Arial color=#008080 
size=4>SIEMENS<BR><BR></FONT><SPAN lang=EN-GB 
style="COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">Klaus Jank</SPAN></STRONG> <BR><SPAN 
lang=EN-GB 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">Technical 
Liaison Manager Java</SPAN><SPAN lang=EN-GB 
style="mso-ansi-language: EN-GB"><FONT size=2> </FONT></SPAN></DIV>
<P align=left><SPAN lang=EN-GB 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">Siemens 
Corporate Research, Inc.</SPAN><?xml:namespace prefix = st1 ns = 
"urn:schemas-microsoft-com:office:smarttags" /><st1:address 
style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"><st1:Street 
style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"><FONT 
size=2> <BR><SPAN lang=EN-GB 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">Software 
Engineering</SPAN></FONT></st1:Street></st1:address></P>
<P align=left><st1:address 
style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"><st1:Street 
style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"><FONT 
size=2><SPAN lang=EN-GB 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN-GB"></SPAN></FONT></st1:Street></st1:address><st1:address 
style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"><st1:Street 
style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"><FONT 
size=2><SPAN lang=EN-GB 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN-GB">755 
College Road East</SPAN></FONT></st1:Street><FONT size=2> <BR><st1:City 
style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"><SPAN 
class=SpellE><SPAN 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">Princeton, NJ 
08540</SPAN></SPAN></st1:City> <BR><st1:country-region 
style="BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"><SPAN 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">USA</SPAN></st1:country-region></FONT></st1:address><FONT 
size=2> </FONT></P>
<P align=left><SPAN class=SpellE><SPAN lang=FR 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: FR"><A 
href="mailto:klaus.jank@siemens.com">klaus.jank</SPAN></SPAN><SPAN lang=FR 
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: FR">@siemens.com</A><BR>+1 
(609) 734 3581 (phone)<BR>+1 (609) 734-6565 (fax)<BR>+1 
(650) 704 8746 (mobile)<BR><SPAN class=810113020-31082005><FONT 
color=#000000><A 
href="https://java.siemens.com/jtf/">https://java.siemens.com/jtf/</A></FONT> 
(intranet)</SPAN></SPAN></P></DIV></DIV>
<DIV> </DIV></BODY></HTML>