如何在继承跨越单独的JAR时使用@Entity属性?

时间:2011-12-04 00:15:55

标签: java inheritance jpa-2.0

我有两个实体,其中一个继承了另一个,所以我在 jar1 entity1 ,我有一个 jar2 entity2->继承(使用实体)

jar1中的

@Entity
public class Entity1 {...}
jar2中的

@Entity
public class Entity2 extends Entity1 {...}

那么我怎样才能使它工作,它甚至没有编译说:

An annotation processor threw an uncaught exception...
Caused by: java.lang.NullPointerException
at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.discoverMappedSuperclassesAndInheritanceParents(EntityAccessor.java:224)

看起来很简单,但它不起作用,我该怎么办?

更新

这是jar2的persistencel.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns /persistence/persistence_2_0.xsd">
<persistence-unit name="EntityBPU" transaction-type="JTA">
   <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
   <jta-data-source>my_datasource</jta-data-source>
   <jar-file>jar1.jar</jar-file>
   <properties>
      <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
   </properties>
</persistence-unit>

1 个答案:

答案 0 :(得分:0)

从理论上讲,在不同的JAR中有两个相关的实体没什么特别的。

检查您的环境和编译方式。