エンティティにブールプロパティがあります。これが私の注釈です:
@Column(name = "IS_ACTIVE", nullable = false, columnDefinition="BIT DEFAULT 1", length = 1)
public Boolean getActive() {
return isActive;
}
しかし、columnDefinition="BIT DEFAULT 1"
完全には機能しません。生成されたテーブルの結果として取得するSQLコードは次のとおりです。
IS_ACTIVE BIT(1) NOT NULL,
私は何が間違っているのですか?
したがって、このクラスのインスタンスをデータベースに保存しようとすると、例外が発生します。
`com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'IS_ACTIVE' cannot be null`
nullable = false
プロパティを削除した場合:
@Column(name = "IS_ACTIVE", columnDefinition="BIT DEFAULT 1", length = 1)
public Boolean getActive() {
return isActive;
}
この場合、作成したオブジェクトを保存できます。しかし、それでもデフォルト値は設定されておらず、データベースのこのフィールドの値でNULLを取得します。
何かアイデアはありますか?重要な場合は、MySQLServer5.1を使用します。助けていただければ幸いです。前もって感謝します!