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.
>

Reply via email to