Hi, This problem is fixed in OPENJPA-1442 at trunk level code. Catalina
On Mon, Jan 18, 2010 at 8:49 AM, Bender1199 <[email protected]> wrote: > > Hi, thanks for the fast supply. This is my decompiled > pcCopyKeyFieldsToObjectId > > public void pcCopyKeyFieldsToObjectId(Object paramObject) { > EmailAddress.EmailAddressId localEmailAddressId = > (EmailAddress.EmailAddressId)((ObjectId)paramObject).getId(); > Account localAccount = this.account; > Object localObject; > if (localAccount != null) > localObject = ((PersistenceCapable)localAccount).pcFetchObjectId(); > localEmailAddressId.account = ((localObject != null) ? > ((BigIntegerId)localObject).getId() : null); > localEmailAddressId.ix = this.ix; > } > > > Fay Wang wrote: > > > > I have seen this problem before, but somehow it went away. I am using > your > > entity definition but could no longer reproduce the problem. Using java > > decompiler, the following is my pcCopyKeyFieldsToObjectId in > EmailAddress. > > Can you post your problematic pcCopyKeyFieldsToObjectId? > > > > public void pcCopyKeyFieldsToObjectId(Object paramObject) > > { > > Object localObject; > > EmailAddressId localEmailAddressId = > > (EmailAddressId)((ObjectId)paramObject).getId(); > > Account localAccount = this.account; > > if (localAccount != null) > > localObject = > > ((PersistenceCapable)localAccount).pcNewObjectIdInstance(); > > localEmailAddressId.account = ((localObject != null) ? > > ((BigIntegerId)localObject).getId() : null); > > localEmailAddressId.ix = this.ix; > > } > > > > > > -Fay > > > > > > > > ----- Original Message ---- > > From: Bender1199 <[email protected]> > > To: [email protected] > > Sent: Sun, January 17, 2010 1:38:37 PM > > Subject: VerifyError when using IdClass with BigInteger/BigDecimal > > > > > > I'm using openjpa-all 2.0.0-M3. > > > > I've following classes > > > > @Entity > > public class Account { > > > > @Id > > private BigInteger id; > > > > private String name; > > > > private String password; > > ... > > } > > > > @Entity > > @IdClass(EmailAddress.EmailAddressId.class) > > public class EmailAddress{ > > > > @Id @ManyToOne > > private account; > > > > @Id > > private BigInteger ix; > > > > private String address; > > > > public static class EmailAddressId{ > > public BigInteger account; > > public BigInteger ix; > > ... > > } > > } > > > > Now when I'm creating an EntityManager this error occures > > > > java.lang.VerifyError: (class: EmailAddress, method: > > pcCopyKeyFieldsToObjectId signature: (Ljava/lang/Object;)V) Bad type in > > putfield/putstatic > > at java.lang.Class.forName0(Native Method) > > at java.lang.Class.forName(Class.java:247) > > at > > > org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1448) > > at > > > org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1421) > > at > > > org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:273) > > at > > > org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:229) > > at > > > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:203) > > at > > > org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:152) > > at > > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:199) > > at > > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:150) > > at > > > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56) > > > > Same behaviour when using BigDecimal as ID field. When using Long it > > works! > > > > Anyone an idea? > > > > > > -- > > View this message in context: > > > http://n2.nabble.com/VerifyError-when-using-IdClass-with-BigInteger-BigDecimal-tp4410186p4410186.html > > Sent from the OpenJPA Users mailing list archive at Nabble.com. > > > > > > > > > > > > > > > > -- > View this message in context: > http://n2.nabble.com/VerifyError-when-using-IdClass-with-BigInteger-BigDecimal-tp4410186p4414695.html > Sent from the OpenJPA Users mailing list archive at Nabble.com. >
