通过Glassfish / EclipseLink将@ManyToOne放入多个罐中

|| 我有两个jar,dog.jar和person.jar,它们都包装成一个耳朵内的ejb模块。 Dog.java是通过“所有者”字段上的OneToMany映射引用另一个Entity Person.java的实体。每个jar都有自己的persistence.xml,它们引用一个公共的持久性单元,但是每个persistence.xml仅包含该jar中包含的类。 启动时,Glassfish抱怨:
Exception Description: [class com.example.dog.entities.Dog] uses a non-entity [class com.example.person.entities.Person] as target entity in the relationship attribute [field owner].
如果将Person类添加到狗罐的persistence.xml中,这似乎可以工作,但我一点都不喜欢。 Person类已经在person.jar的persistence.xml中定义了,该文件位于同一名称的持久性单元中,位于同一耳朵,因此应在运行时找到它!我不想重复我自己。 另外,我使用方便的Eclipse JPA工具自动同步persistence.xml中的类名称,当我这样做时,只有在dog \的persistence.xml上运行它时,它才会找到Dog.java。因此,我不想搜寻所有引用并将它们手动添加到persistence.xml中,而不必担心它们在重新同步时会被吹走。 另外,我确保在application.xml中将person ejb模块放在dog ejb模块之前。 这是我第一次尝试JPA和Java EE,所以我可能做错了什么...我通过阅读书籍和文章来喝醉了,但似乎没人能展示出很好的多模块企业示例...     
已邀请:

要回复问题请先登录注册