Hi
I have been trying to connect to a DB on sql server using EJB3.0. I'm able to 
retrieve the data from the tables but cannot insert.
The tables are 'Address' and 'Person'.
The Unique auto generated 'id' of 'Address' table has to be inserted in the 
'AddressId' field of Person.
Besides other fields, my EntityBean Person contains:
@Id
        @GeneratedValue(strategy=GenerationType.AUTO)   
        public int getId() {
                return id;
        }
        public void setId(int id) {
                this.id = id;
        }       
        
        @ManyToOne(cascade=CascadeType.ALL)
        @JoinColumn(name="addressId", 
                            referencedColumnName="id")
        public Address getAddress() {
                return address;
        }
        public void setAddress(Address address) {
                this.address = address;
        }


....

Besides other fields, Address Entity Bean contains
@Id
        @GeneratedValue
        public int getId() {
                return id;
        }


Now while I'm trying to insert a new Record, I'm getting the following 
Exception:
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]'last_insert_id' is not a 
recognized function name.
14:30:58,108 ERROR [STDERR] javax.ejb.EJBException: 
javax.persistence.PersistenceException: 
org.hibernate.exception.GenericJDBCException: could not retrieve generated id 
after insert: [com.j3ltd.server.entities.Address]
14:30:58,108 ERROR [STDERR]     at 
org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
14:30:58,108 ERROR [STDERR]     at 
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
14:30:58,108 ERROR [STDERR]     at 
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
14:30:58,108 ERROR [STDERR]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:263)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:58)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
14:30:58,124 ERROR [STDERR]     at $Proxy85.createPerson(Unknown Source)
14:30:58,124 ERROR [STDERR]     at 
com.j3ltd.web.Register.register(Register.java:92)

.
.
.
.
.

and 
.
.
.
.

Caused by: javax.persistence.PersistenceException: 
org.hibernate.exception.GenericJDBCException: could not retrieve generated id 
after insert: [com.j3ltd.server.entities.Address]
14:30:58,124 ERROR [STDERR]     at 
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)
14:30:58,124 ERROR [STDERR]     at 
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:218)
14:30:58,124 ERROR [STDERR]     at 
org.jboss.ejb3.entity.TransactionScopedEntityManager.persist(TransactionScopedEntityManager.java:175)
14:30:58,124 ERROR [STDERR]     at 
com.j3ltd.server.session.EntityFacadeBean.createPerson(EntityFacadeBean.java:53)
14:30:58,124 ERROR [STDERR]     at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
14:30:58,124 ERROR [STDERR]     at 
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
14:30:58,124 ERROR [STDERR]     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
14:30:58,124 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Unknown 
Source)

Please could anyone help me out in solving this problem






View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4053041#4053041

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4053041
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to