0
@Antoniossss休眠更新子表而不是将记录追加到子表
记录正在插入到Wslog表中,但正在为Emp错误。它也试图插入对象wslog。
insert into wslog (totrecords, logid) values (?, ?)
insert into emp (sid, logid, **wslog**, eid, ename) values (?, ?, ?, ?, ?, ?, ?)
WsLog(主)
@Column(name = "logid") //has sequence
private long logid;
@Column(name = "totrecords")
private long totrecords;
@OneToMany(mappedBy="wslog")
private List<Emps> emplist;
EMPS(儿童)
@Id
@Column(name = "sid") //has sequence
private long sid;
@Column(name = "logid")
private long logid;
@Column(name = "eid")
private Long eid;
@Column(name = "ename")
private String ename;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "logid")
private Wslog wslog;
Repositiory
public interface WsLogRepository extends CrudRepository<WsLog, Long> {
}
服务实现
my.domain.client.model.Wslog wsLog = new Wslog();
wsLog.setTotrecords(getTotrecords());
List<my.domain.client.model.Employees> empList = new ArrayList<my.domain.client.model.Employees>();
for (my.domain.client.model.Employees emp : getEmployees()) {
my.domain.client.model.Employees emps = new Employees();
emps.setID(getEid());
emps.setEname(getEname());
emps.setLog(wsLog);
empList.add(emps);
}
wsLog.setEmployees(empList);
wsLogRepository.save(wsLog);
哪一列是emp表中的主键? – FuSsA
为什么你会设置'LogId'保证'Log'对象是另一个神秘的 – Antoniossss