[英]Auto value generation for spring boot
我是 NodeJS 后端開發人員,開始學習 spring 引導,我只是在徘徊,是否可以使用不同字段的現有值生成字段值。
讓我澄清一下我的要求。 假設它是我的 model,
import javax.persistence.*;
import java.util.Date;
import java.util.UUID;
@Entity
@Table(name = "tbl_user")
public class UserModel {
@Id
@GenericGenerator(name = "UUIDGenerator", strategy = "uuid2")
@GeneratedValue(generator = "UUIDGenerator")
@Column(name = "uuid", updatable = false, nullable = false)
private UUID uuid;
@Column(name = "userName", updatable = true, nullable = false)
private String userName;
@Column(name = "userNameToLower", updatable = true, nullable = false)
private String userNameToLower;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserNameToLower() {
return userNameToLower;
}
public void setUserNameToLower(String userNameToLower) {
this.userNameToLower = userNameToLower;
}
}
基於userName
(將從請求正文中獲取,我可以在將其推送到 DB 時生成userNameToLower
,而無需在 controller 上明確編碼。
請告訴我。 這將是一個很大的幫助。
提前致謝。
您可以使用@PrePersist
和@PreUpdate
注釋來設置在保存或更新實體之前調用的方法。 如果要將邏輯移動到單獨的 class,請使用@EntityListeners
。
@Entity
@Table(name = "tbl_user")
public class UserModel {
// ...
@PrePersist
private void prePersist() {
// simple example without null check, etc
username = username.toLowerCase();
}
}
一些例子:
在 hibernate 中,有辦法。 試試下面:
@Column(name = "userName")
@ColumnTransformer(write = "LOWER(userName)")
private String userName;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.