我正在开发一个带有spring和vaadin的maven模块化项目,该项目具有以下结构
|-- parent
`-- pom.xml
|-- model1
| `-- pom.xml
|-- model2
-- pom.xml
|-- services
-- pom.xml
|-- web-app
-- pom.xml
model1和model2是我用这种方式修改的两个maven-archetype-quickstart
|-- 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>
持久性文件按以下方式定义
Model1 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>
Model2 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 :(得分:0)
您可以尝试在Model2 persistence.xml中导入包含jar的实体,而无需重新创建它们。
<jar-file>Model_1_Entity.jar</jar-file>
答案 1 :(得分:0)