伪代码来切入正题:休眠 - 保存实体 - 更新表 - 不是基于主键
@Entity
Person {
@Id
Integer id;
String SSN;
String name;
}
使用案例库,或服务:
personRepository.save(new Person(ssn:"123456", name:"jeff")):
- ID是独特和自动增量主键
- SSN是唯一的,是一个人的标识
- 名称只是一个字符串,可以改变
目前保存使用Hibernate的merge()
做插入/更新,但我没有id
当我救了我的抽象层(部分,以便客户端代码并不需要接触实体),所以如果SSN已经存在于数据库中而不必对该字段进行单独查找,然后在那里分支逻辑,我如何才能更新人员名称(我不想这样做,因为我可能会一次更新并插入许多人,并认为它会很慢)
我应该只删除所有,然后重新插入? – walnutmon 2010-07-15 18:47:59