【发布时间】:2017-05-15 15:57:50
【问题描述】:
我是 hibernate 的新手,我设法让它与一些表和外键一起工作,但我需要保存 java 对象的层次结构,我不知道最好的方法。我会像这样简化我的问题
请求可能产生 0..* 响应
一个 Response 与 1 个 Request
相关联一个Response也有2个ResponseDetail对象
一个 ResponseDetail 与 1 个 Response
相关联Class Request{
@Id
int reqId;
}
Class Response
{
@Id
int respId;
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "reqId")
Request req; //foreign key from request
ResponseDetail rd1;
ResponseDetail rd2;
}
Class ResponseDetail{
???
int rdId;
other stuff...
}
现在java端我会得到一些响应,手动设置他们的请求对象,我需要保存这个响应并自动让hibernate保存ResponseDetail rd1和rd2,老实说我不知道如何继续。
理想情况下,我需要一种在某些响应上使用休眠的保存方法的方法,它会自动将 ResponseDetail 保存在数据库中并在 rd1 和 rd2 字段中设置引用
我应该使用什么映射?如何正确达到我的目标?
【问题讨论】:
标签: java postgresql hibernate persistence