Hibernate 休眠一对多,无需数据库关系映射

Hibernate 休眠一对多,无需数据库关系映射,hibernate,one-to-many,Hibernate,One To Many,如果我在hibernate中应用一对多关系,我的代码会工作吗- 仅限于Java中的实体端,而不限于DB端(表之间不会有外键,我不想修改表) 问题编辑如下 这是我的表格——一个员工有很多证书 Emp表--> 证书表--> 在这里,这些表数据与emp\u id和cert\u id相关(表中对此没有关系。但查看现有系统中的数据,它们是相关的) 因为它是一个现有的数据库,所以我不想更改表并在数据库中添加外键关系。 我只想从hibernate端添加关系。有可能吗 尝试仅引用id字段,而不是证书实体中的实体

如果我在hibernate中应用一对多关系,我的代码会工作吗- 仅限于Java中的实体端,而不限于DB端(表之间不会有外键,我不想修改表)

问题编辑如下

这是我的表格——一个员工有很多证书

Emp表-->

证书表-->

在这里,这些表数据与
emp\u id
cert\u id
相关(表中对此没有关系。但查看现有系统中的数据,它们是相关的)

因为它是一个现有的数据库,所以我不想更改表并在数据库中添加外键关系。
我只想从hibernate端添加关系。有可能吗

尝试仅引用
id
字段,而不是证书实体中的实体。您的员工实体将保持不变,但没有
@OneToMany
关系。在您的证书实体中,而不是执行以下操作:

@ManyToOne
@JoinColumn(name="EMPLOYEE_ID")
Employee employee
像这样做:

@Column(name="EMPLOYEE_ID")
Integer employeeId;

尝试仅引用
id
字段,而不是证书实体中的实体。您的员工实体将保持不变,但没有
@OneToMany
关系。在您的证书实体中,而不是执行以下操作:

@ManyToOne
@JoinColumn(name="EMPLOYEE_ID")
Employee employee
像这样做:

@Column(name="EMPLOYEE_ID")
Integer employeeId;

首先,Hibernate在数据库端不需要ForeignKey关系。 如果关闭了hbm2ddl,hibernate将不会创建hbm2ddl


只需将其声明为正常的一对多关系,hibernate就会为员工创建证书集合。确保使用Set或Bag not List,因为List需要一个索引列。

首先,Hibernate不需要数据库端的ForeignKey关系。 如果关闭了hbm2ddl,hibernate将不会创建hbm2ddl


只需将其声明为正常的一对多关系,hibernate就会为员工创建证书集合。确保使用Set或Bag not List,因为List需要一个索引列。

如果主键相同,则这是一种正式的、纯粹的一对一关系,可以这样映射。数据库中不需要任何其他内容。

如果主键相同,则这是一种正式的、纯粹的一对一关系,可以进行映射。数据库中没有您需要的其他内容。

请添加您的实体。请添加您的实体。