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實現上述目標?