2014-04-09 105 views
1

我发展与春vaadin一个maven模块化项目,该项目具有以下结构合并不同持久性单元

|-- parent 
`-- pom.xml 
    |-- model1 
    | `-- pom.xml 
    |-- model2 
     -- pom.xml 
    |-- services 
     -- pom.xml 
    |-- web-app 
     -- pom.xml 

MODEL1和MODEL2两个Maven的原型 - 快速入门,我用这种方式修改

|-- model1 
    |--src 
     |--main 
      |--java 
     |--main 
      |--resources 
       |-- META-INF 
        -- persistence.xml 

|-- model2 
    |--src 
     |--main 
      |--java 
     |--main 
      |--resources 
       |-- META-INF 
        -- persistence.xml 

而且在MODEL2 POM我有这种依赖性

<dependency> 
     <groupId>it.mycompany</groupId> 
     <artifactId>model1</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </dependency> 

持久性文件以下列方式定义

型号1的persistence.xml

<persistence> 
<persistence-unit name="model1Unit"> 

    <class>it.mycompany.User</class> 
    <class>it.mycompany.UserDetail</class> 
    <class>it.mycompany.Address</class> 
    <class>it.mycompany.Agent</class> 
    <class>it.mycompany.Agency</class> 

    // and more others 

</persistence-unit> 

模型2的persistence.xml

persistence> 
<persistence-unit name="model2Unit"> 

    <class>it.mycompany.Agreement</class> 
    <class>it.mycompany.AgreementDetail</class> 

    // and more others 

</persistence-unit> 

现在我的问题是,映射内model2项目我想要做以下事情:

@Entity 
    public class Agreement{ 

    @Id 
    @GeneratedValue 
    private long id; 

    private String description; 

    @ManyToOne 
    private Agent agent; 

} 

但代理实体包含在model1项目/数据源中。实际上,我想在model2项目中使用model1项目的某个实体,以避免 重新创建它们。

这可能吗? 有什么建议吗?

+0

实体(表)属于两个不同的数据块? – Suvasis

+0

是表格属于两个不同的数据块 – Skizzo

+0

如果协议和代理属于两个不同的数据库,那么它们在逻辑/物理上是如何映射到彼此的。数据库中他们之间的关系如何存在?基本上我想知道当你使用@ManyToOne时他们之间有什么关系。 – Suvasis

回答

0

您可以尝试在Model2 persistence.xml中导入包含实体的jar,而不重新创建它们。

<jar-file>Model_1_Entity.jar</jar-file> 
相关问题