2016-05-17 3 views
0

「ブール」フィールドが含まれているHibernateのPOJOを持っていますフィールドの値はデフォルトでfalseになります。注釈を使用してこれをどのように達成できますか?私はその後、私は<code>boolean</code>をしたい、(新しいものが作成されるとIE)オブジェクトが存在しない場合、私は<code>boolean</code>フィールドが含まれている休止POJOを持っている、と

現在、私が使用している:

@Column(name = "IS_DELETED",columnDefinition = "Boolean DEFAULT new Boolean(false)") 
private Boolean isDeleted; 

@Column(name = "IS_DELETED",columnDefinition = "Boolean DEFAULT false") 
private Boolean isDeleted; 

を、私はそれがnull値を格納するデフォルトでこれを使用する必要が....でも次もあなたが使用するために必要なもの

@Column(name = "IS_DELETED",nullable=false,columnDefinition = "Boolean DEFAULT new Boolean(false)") 
private Boolean isDeleted; 
+4

'private Boolean isDeleted = false'はどうですか? –

+0

@AliDehghaniが示唆したのは正解です。 Javaコードまたはデータベースでデフォルト値を設定する必要があります。デフォルト値を追加するアノテーションはありません。 – Ascalonian

+0

'@ PrePersist'アノテーションも回避策として見ることができます – Ascalonian

答えて

0

をされて動作していません

@Column(name = "IS_DELETED",columnDefinition = "tinyint(1) default 0") 
private Boolean isDeleted; 

しかし、この値はDBに保存すると「False」になります。そのため、エンティティを作成して値はNULLになりますので、決して使用しないであろういくつかの人々はすでに

@Column(name = "IS_DELETED",columnDefinition = "tinyint(1) default 0") 
private Boolean isDeleted = Boolean.FALSE; 

を言ったように私は、デフォルト値を使用することをお勧めします。しかし、この場合にcolumnDefinitionは文句を言わない意味をなさない...何を決定するのはあなた次第ですあなたのビジネスロジックと論理的に正しいです

関連する問題

 関連する問題