Java 合并不同的持久化单元
我正在用spring和vaadin开发一个maven模块化项目,其结构如下Java 合并不同的持久化单元,java,spring,maven,jpa,eclipselink,Java,Spring,Maven,Jpa,Eclipselink,我正在用spring和vaadin开发一个maven模块化项目,其结构如下 |-- parent `-- pom.xml |-- model1 | `-- pom.xml |-- model2 -- pom.xml |-- services -- pom.xml |-- web-app -- pom.xml model1和model2是我以这种方式修改的两个maven原型quickstart |-
|-- parent
`-- pom.xml
|-- model1
| `-- pom.xml
|-- model2
-- pom.xml
|-- services
-- pom.xml
|-- web-app
-- pom.xml
model1和model2是我以这种方式修改的两个maven原型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项目/数据源中。实际上,我想在model2项目中使用model1项目的一些实体,以避免
重新创建它们
这可能吗?
有什么建议吗 您可以尝试在Model2 persistence.xml中导入包含实体的jar,而无需重新创建它们
<jar-file>Model_1_Entity.jar</jar-file>
我使用一个实体解决了问题,在model1Unit和model2Unit中映射的表属于两个不同的DBs?是的,这些表属于两个不同的DBs如果协议和代理属于两个不同的DBs,那么它们在逻辑/物理上如何映射到彼此。在DB中,它们之间的关系是如何存在的?基本上,我想知道当您使用@ManyToOne时,它们之间存在什么关系。
persistence>
<persistence-unit name="model2Unit">
<class>it.mycompany.Agreement</class>
<class>it.mycompany.AgreementDetail</class>
// and more others
</persistence-unit>
@Entity
public class Agreement{
@Id
@GeneratedValue
private long id;
private String description;
@ManyToOne
private Agent agent;
}
<jar-file>Model_1_Entity.jar</jar-file>