我有 3 个 POJO 类 Emp
、Dep
和 Desig<
三个表。我想使用 REST API 在 hibernate 中插入 Emp
表列 e_code
、e_name
、dep_id
(Dep
表的外键)、desig_id
(Desig<
表的外键)、salary
我的Emprepositary
类是
public class EmpRepositary {
public void addEmployee(Emp e1) {
Session session = SessionUtill.getSession();
Transaction tx = session.beginTransaction();
addEmployee1(session,e1);
tx.commit();
session.close();
}
public void addEmployee1(Session session, Emp e1) {
Emp emp= new Emp();
emp.setE_code(e1.getE_code());
emp.setE_name(e1.getE_name());
emp.setSalary(e1.getSalary());
emp.setDep(e1.getDep());
emp.setDesig(e1.getDesig());
session.save(emp);
}
}
这是我的 Emp
POJO 类
@Entity
public class Emp {
@Id
private int e_code;
private String e_name;
private int salary;
@ManyToOne
private Dep dep;
@ManyToOne
private Desig desig;
getter setter
...
}
当我将数据放入 REST API 时,代码运行完美,但数据仅进入数据库 e_code
、e_name
、salary
,但 dept_id
、desig_id
为 null
,没有值进入数据库...
所以我的问题是:如何将dept_id
、desig_id
的数据获取到Emp
表中?
最佳答案
像这样更新你的实体,希望它能起作用:
@Entity
public class Emp {
@Id
private int e_code;
private String e_name;
private int salary;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "dep_id ", nullable = false)
private Dep dep;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "desig_id ", nullable = false)
private Desig desig;
getter setter
...
}
关于java - 如何使用rest api插入hibernate中的表,并且该表2列是另一个表的外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60182063/