【发布时间】:2017-06-13 14:53:56
【问题描述】:
让我在提问之前设置场景
首先我使用的是旧版本的 Hibernate 休眠版本:3.6.10.Final
我有一个问卷/人员表,它们彼此之间存在一对一的关系。
这是我的问卷表(当然是部分),只有相关部分。
@Entity
public class Questionnaire {
...
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "person_id")
private Person person;
...
}
这是我的 Person 表(当然是部分),只有相关部分。
@Entity
public class Person {
...
@OneToOne(cascade = {CascadeType.ALL}, fetch = FetchType.LAZY, optional = false)
@JoinColumn(name="questionnaireInfo_id", unique=true)
private QuestionnaireInfo questionnaireInfo;
....
}
如果我更新问卷对象并保存问卷实体(不使用 HQL 或任何 SQL 类型语法),它是否也会更新我的 person 表并在保存时锁定该表? [即使人的id和以前一样]
我在 x86_64-pc-linux-gnu 上使用 PostgreSQL 9.5.6,由 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11) 编译,64 位
【问题讨论】:
-
自己测试可能会给你最可靠的答案。根据我的经验,如果您不更改对象,它不会得到更新,但没有尝试这种特殊情况。
标签: java database postgresql hibernate orm