2011-06-13 15 views
1

これは、休止状態でブール値を設定する方法は?

public boolean paid; 
public boolean isPaid() 
{ 
    return paid; 
} 
public void setPaid(boolean paid) 
{ 
    this.paid=paid; 
} 

豆ですが、私は、のようなデータベースに

CourseFee料=新しいCourseFeeを保存するためにオブジェクトを作成するときに(); fee.setPaid(false); hibernateTemplate.save(fee);

私は次の例外、

java.sql.BatchUpdateException取得:データ列に長すぎる「有給」行で1

休止状態にブール値を設定するための正しい方法は何ですか?

答えて

3

POJOクラスに大きなBooleanを使ってみてください。

またはこのようなあなたのマッピングを更新してみてください。

<property name="paid" not-null="true" > 
    <column sql-type="BOOLEAN" not-null="true" name="paid" /> 
</property> 

感謝。

+0

私はまだ同じ例外を取得します。 – elle

+2

一般に、Hibernateを扱うときはプリミティブを避けることをお勧めします。 – Yuval

+0

クラスのマッピングを共有できますか? – nIKUNJ

11

私はこの方法を使用します。

@Column(name="isAdmin", columnDefinition = "tinyint default false") 
public boolean isAdmin() { 
    return admin; 
} 
5

デフォルト値の使用には成功しません。これはコンパイルされますが、デフォルト値は使用されません。

私は、次の手順に従っ:

  • クラスの宣言を置く

    @DynamicInsert @DynamicUpdate

  • プロパティに置く

    @Column( 偽= NULL可能で、 columnDefinition = "falseのブールDEFAULT"

参考:http://www.mkyong.com/hibernate/hibernate-dynamic-insert-attribute-example/