0
我有一个表(USERS)
的列:休眠SaveOrUpdate复合键
- 表ID - 整数
- USER_ID - 整数
- DATE - 日期时间
- VALUE - 双人
这映射到User
类:
@Table(name = "USERS")
@Entity
public class User implements Serializable {
private static final long serialVersionUID = -6894800373034942671L;
@Transient
private String userName;
@Id
@Column(name = "TABLE_ID")
private Integer tableId;
@Column(name = "USER_ID")
private Integer userId;
@Column(name = "VALUE")
private Double value;
@Column(name = "DATE")
private Date date;
public User() {
}
// Getters and setters here
}
表约束到位使用索引:
- 的table_id - 独特和集群
- USER_ID,DATE - 独特的和非聚集
我将创建列表的User
对象,每个对象具有不同的userId
。如果对于特定的date
,表中存在用户记录userId
,我想更新其value
,否则插入新的User
对象。
我是否需要选择使用HQL
,为缺失的那个创建新的User
对象,然后运行saveOrUpdate
?或者有没有更好的方法?
如何使用hibernate实现上述目标?