从数据库检索数据时,是否需要在hibernate一对多映射中添加一个额外的列?
这是我的员工表从数据库检索数据时,是否需要在hibernate一对多映射中添加一个额外的列?,hibernate,hibernate-mapping,Hibernate,Hibernate Mapping,这是我的员工表 +----+------------+-----------+--------+ | id | first_name | last_name | salary | +----+------------+-----------+--------+ | 1 | Manoj | Kumar | 5000 | +----+------------+-----------+--------+ 这是我使用一对多映射的证书表 +----+---------------
+----+------------+-----------+--------+
| id | first_name | last_name | salary |
+----+------------+-----------+--------+
| 1 | Manoj | Kumar | 5000 |
+----+------------+-----------+--------+
这是我使用一对多映射的证书表
+----+------------------+-------------+
| id | certificate_name | employee_id |
+----+------------------+-------------+
| 1 | MBA | 1 |
| 2 | PMP | 1 |
| 3 | MCA | 1 |
+----+------------------+-------------+
现在,为了检索数据,我可以使用session.createCriteria(Employee.class)代码>
是否需要在证书实体类中添加员工id的加入列
我是否可以在不添加列员工id
的情况下获得证书\u name
?如果是,如何操作?有必要在证书表中添加一个额外的列,那么您的员工实体应该如下所示:
@Entity
public class Employee {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long langId;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "id", referencedColumnName = "employee_id")
private Set<Certificate> certificates;
@实体
公营雇员{
@身份证
@列(name=“id”)
@GeneratedValue(策略=GenerationType.AUTO)
私人长兰吉德;
@列(name=“first_name”)
私有字符串名;
@列(name=“last_name”)
私有字符串lastName;
@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name=“id”,referencedColumnName=“employee\u id”)
专用集证书;
我是否需要在证书实体类中添加员工id的“加入”列?我不是这样问的。是的,您确实需要一个“加入”列。非常感谢。编辑您的答案并在其中写下您最后的评论,然后我将向上投票