是否有可能在hibernate中設置一個字段,以便在空值時生成一個值?休眠JPA:可選值生成
這不是主要關鍵,而是業務關鍵。基本上我有一個帶有條形碼字段的容器。如果未分配條形碼,則自動生成(例如,前綴+序列號)。
這是可能的還是我需要創建一個自定義方法來訪問下一個序列值?
是否有可能在hibernate中設置一個字段,以便在空值時生成一個值?休眠JPA:可選值生成
這不是主要關鍵,而是業務關鍵。基本上我有一個帶有條形碼字段的容器。如果未分配條形碼,則自動生成(例如,前綴+序列號)。
這是可能的還是我需要創建一個自定義方法來訪問下一個序列值?
我發現了一個類似的問題,我會用接受的答案去做,因爲它似乎是最靈活的答案。
從班級本身分配條形碼的值。 嘗試這樣的事情。
int sequencenumber = generateSequence();
String barcode = prefix + sequencenumber;
我還沒有試過這個。所以我不確定這是否會奏效。請嘗試一下。
看一看這個:Hibernate JPA Sequence (non-Id) 的想法是爲產生價值BarCode
創建一個實體,然後用它作爲你的主要實體的屬性:
@Entity
public class BarCode{
private static final String PREFIX = "PREFIX";
@Id
@GeneratedValue(...)
private Long number;
public String getBarCodeValue(){
return PREFIX + getNumber();
}
}
@Entity
public class MyEntity {
@Id ..
private Long id;
@OneToOne(...)
private BarCode barCode;
public String getBarCodeValue(){
return barCode.getBarCodeValue();
}
}
我不想總是生成。該值可以從外部提供,並且只有在沒有提供時才需要生成。 –
沒有給默認值的選項。類似於default =''已經用它來爲一個時間戳字段提供默認日期。 –