You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by ivanrc <ir...@indra.es> on 2007/11/19 10:41:24 UTC
Booleans in CMP EJB2.1 with Geronimo 2.0.2 and Sql Server
Hello,
I´m using Apache Geronimo 2.0.2 and DataBase pool with SQL Server 2005. I´ve
got this remote interface defined in my EJB2.1 CMP...
/* Generated by Together */
package test;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
import javax.ejb.EJBException;
public interface TestEntity extends EJBObject {
Long getId() throws RemoteException, EJBException;
void setId(Long param) throws RemoteException, EJBException;
void setActive(Boolean active) throws RemoteException, EJBException;
Boolean getActive() throws RemoteException, EJBException;
}
Boolean named "Active" is mapped with a BIT column type named "ACTIVE" into
SQL server data base, and then, the first time I invoke create() method of
my home interface, I obtain this exception...
10:23:16,453 ERROR [OpenEJB] The bean instances business method encountered
a system exception: Syntax error: Encountered "BIT" at line 1, column 56.
{stmnt 4757738 CREATE TABLE BOOLEAN_TABLE (ID BIGINT NOT NULL, ACTIVE BIT,
PRIMARY KEY (ID))} [code=30000, state=42X01]
<openjpa-1.0.0-r420667:568756 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: Syntax error:
Encountered "BIT" at line 1, column 56. {stmnt 4757738 CREATE TABLE
BOOLEAN_TABLE (ID BIGINT NOT NULL, ACTIVE BIT, PRIMARY KEY (ID))}
[code=30000, state=42X01]
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:549)
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:449)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:170)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:130)
at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:186)
at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
at
org.apache.geronimo.persistence.CMPEntityManagerTxScoped.createEntityManager(CMPEntityManagerTxScoped.java:74)
at
org.apache.geronimo.persistence.CMPEntityManagerTxScoped.getEntityManager(CMPEntityManagerTxScoped.java:55)
at
org.apache.geronimo.persistence.CMPEntityManagerTxScoped.getDelegate(CMPEntityManagerTxScoped.java:315)
at
org.apache.openejb.core.cmp.jpa.JpaCmpEngine.registerListener(JpaCmpEngine.java:128)
at
org.apache.openejb.core.cmp.jpa.JpaCmpEngine.getEntityManager(JpaCmpEngine.java:109)
at
org.apache.openejb.core.cmp.jpa.JpaCmpEngine.createBean(JpaCmpEngine.java:140)
at
org.apache.openejb.core.cmp.CmpContainer.createEJBObject(CmpContainer.java:638)
at org.apache.openejb.core.cmp.CmpContainer.invoke(CmpContainer.java:290)
at
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbHome_CREATE(EjbRequestHandler.java:240)
at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:125)
at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
at org.apache.openejb.server.ServiceLogger.service(ServiceLogger.java:73)
at
org.apache.openejb.server.ServiceAccessController.service(ServiceAccessController.java:55)
at org.apache.openejb.server.ServiceDaemon$1.run(ServiceDaemon.java:117)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Syntax error:
Encountered "BIT" at line 1, column 56. {stmnt 4757738 CREATE TABLE
BOOLEAN_TABLE (ID BIGINT NOT NULL, ACTIVE BIT, PRIMARY KEY (ID))}
[code=30000, state=42X01]
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$800(LoggingConnectionDecorator.java:57)
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:754)
at
org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:114)
at
org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1185)
at
org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:949)
at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:526)
at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:344)
at org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:321)
at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:497)
... 25 more
As exception tell me, table named BOOLEAN_TABLE exist (with the same format)
before I invoked create method the fist time. The second time that I invoke
create method of home works well. I using SQL Server 2005 JDBC Driver 1.0
downloaded from Microsoft web page.
Do Anybody know how to I can solve this poblem?. How can I disable this
previous check of Table format?
Thanks.
--
View this message in context: http://www.nabble.com/Booleans-in-CMP-EJB2.1-with-Geronimo-2.0.2-and-Sql-Server-tf4834404s134.html#a13830532
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.
Re: Booleans in CMP EJB2.1 with Geronimo 2.0.2 and Sql Server
Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Nov 19, 2007 10:41 AM, ivanrc <ir...@indra.es> wrote:
> 10:23:16,453 ERROR [OpenEJB] The bean instances business method encountered
> a system exception: Syntax error: Encountered "BIT" at line 1, column 56.
> {stmnt 4757738 CREATE TABLE BOOLEAN_TABLE (ID BIGINT NOT NULL, ACTIVE BIT,
> PRIMARY KEY (ID))} [code=30000, state=42X01]
> <openjpa-1.0.0-r420667:568756 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: Syntax error:
> Encountered "BIT" at line 1, column 56. {stmnt 4757738 CREATE TABLE
> BOOLEAN_TABLE (ID BIGINT NOT NULL, ACTIVE BIT, PRIMARY KEY (ID))}
> [code=30000, state=42X01]
> at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:549)
I can't explain it, but I think you'd be better off sending it to
openjpa's user mailing list to get additional information on the
culprit. I'd bet it won't work with a standalone application with jpa
in the outside-the-container mode (RESOURCE_LOCAL and such) either.
Jacek
--
Jacek Laskowski
http://www.JacekLaskowski.pl