【发布时间】:2017-04-09 01:06:01
【问题描述】:
假设有这样一个类:
public class Entity {
private Long id;
private String name;
}
还有 3 列的表格:id、name 和 address。
CREATE TABLE entity (
id NUMBER(9,0),
name VARCHAR2(255),
address VARCHAR2(1000),
然后执行插入:
INSERT INTO entity (id, name, address) VALUES (1, "a", "b")
然后我们加载和更新hibernate实体:
Session session = ...
Entity entity = session.get(Entity.class, 1);
然后更新名称并再次保存:
entity.setName("newName");
session.save(entity);
那么现在地址列的值是什么 - null 或 b? hibernate 是否为这种情况提供了一些策略,或者我必须
在实体中添加address字段并将其标记为@Column(updatable=false, insertable = false)?
【问题讨论】:
-
如果它没有被映射,那么它就会被忽略。地址值将是相同的“b”。
-
@Cherry 你试过了吗?