我发展与春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项目的某个实体,以避免 重新创建它们。
这可能吗? 有什么建议吗?
实体(表)属于两个不同的数据块? – Suvasis
是表格属于两个不同的数据块 – Skizzo
如果协议和代理属于两个不同的数据库,那么它们在逻辑/物理上是如何映射到彼此的。数据库中他们之间的关系如何存在?基本上我想知道当你使用@ManyToOne时他们之间有什么关系。 – Suvasis