Can you post the contents of your persistence.xml file? Thanks, Rick
On Fri, Aug 6, 2010 at 5:09 AM, Lu Jiang <[email protected]> wrote: > Hi,all > I got an exception when trying to persist an entity class which has > embedded classes. > The steps are as following: > 1.create the embedded class > @Embeddable > public class Borrower implements Serializable { > private String borrowerName; > ...} > 2.create the entity class > @Entity > public class Book1 implements Serializable { > private static final long serialVersionUID = 1L; > @Id > @GeneratedValue(strategy = GenerationType.AUTO) > private Long id; > private String name; > @Embedded > Borrower borrower; > ... > } > 3.create an instance of the entity class and persis it. > ... > Book1 book1=new Book1(); > Borrower borrower=new Borrower(); > borrower.setBorrowerName("borrowerName"); > book1.setName("book1"); > book1.setBorrower(borrower); > em.getTransaction().begin(); > em.persist(book1); > em.getTransaction().commit(); > ... > 4.set the run time enhancer > -javaagent:D:\repository\org\apache\openjpa\openjpa\2.0.0\openjpa-2.0.0.jar > > 5.Run this problem and exception occur. > Exception in thread "main" <openjpa-2.0.0-r422266:935683 fatal user > error> org.apache.openjpa.persistence.ArgumentException: The type > "class entities.Borrower" has not been enhanced. > at > org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1812) > at > org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786) > at > org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435) > at > org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImpl.java:494) > at > org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1730) > at > org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:458) > at > org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1852) > at > org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786) > at > org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790) > at > org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693) > at > org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617) > at > org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) > at > org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) > at > org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2568) > at > org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2423) > at > org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1069) > at > org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:705) > at org.apahce.geronimo.sample.jpa20.test.test.main(test.java:72) > > I have met this enhancer problem at first,after setting the runtime > enhancer,the problem is solved. > However,when running the application which has entity class with > embedded class,the enhancer problem came out again. > Actually,I don't know whether this is known issue.Have someone > experienced the same problem with me? > Any suggestion is welcomed,thanks in advance. >
