Как установить значение по умолчанию в поле Hibernate?
Работая с Oracle, я пытался вставить значение по умолчанию для Enum
. Я нашел следующее, чтобы работать лучше.
@Column(nullable = false) @Enumerated(EnumType.STRING) private EnumType myProperty = EnumType.DEFAULT_VALUE;
<property name="age" type="integer"> <column name="age" not-null="false" default="null" /> </property>
Я работаю с Hibernate 5 и Postgres, и это работало со мной.
@ Column (name = "ACCOUNT_TYPE", обнуляемый = false, columnDefinition = "varchar2 default 'END_USER'") @Enumerated (EnumType.STRING) private AccountTypeВидСчета;
Если вы хотите установить значение по умолчанию в терминах базы данных, просто установите @Column( columnDefinition = "int default 1")
@Column( columnDefinition = "int default 1")
Но если вы намерены установить значение по умолчанию в своем Java-приложении, вы можете установить его в своем атрибуте класса следующим образом: private Integer attribute = 1;
private Integer attribute = 1;
Вышеупомянутое предложение работает, но только если аннотация используется в методе получения.Если аннотации используются там, где член объявлен, ничего не произойдет.
public String getStringValue(){ return (this.stringValue == null) ? "Default" : stringValue; }