这是豆,
public boolean paid;
public boolean isPaid()
{
return paid;
}
public void setPaid(boolean paid)
{
this.paid=paid;
}
但是当我创建一个要保存在数据库中的对象时,
CourseFee费用=新课程费用(); fee.setPaid(假); hibernateTemplate.save(费);
我得到以下异常,
java.sql.BatchUpdateException:对于第1行的“付费”列,数据太长
在hibernate中设置布尔值的正确方法是什么?
答案 0 :(得分:11)
我用这种方式。
@Column(name="isAdmin", columnDefinition = "tinyint default false")
public boolean isAdmin() {
return admin;
}
答案 1 :(得分:5)
我没有成功使用默认值。它编译但从未使用默认值。
我遵循了以下步骤:
提出类声明
@DynamicInsert @DynamicUpdate
放置属性
@Column( nullable = false, columnDefinition =“BOOLEAN DEFAULT false”
)
参考:http://www.mkyong.com/hibernate/hibernate-dynamic-insert-attribute-example/
答案 2 :(得分:3)
尝试在POJO课程中使用大Boolean
。
或尝试更新您的映射:
<property name="paid" not-null="true" >
<column sql-type="BOOLEAN" not-null="true" name="paid" />
</property>
感谢。