问题描述
|
这是豆
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行的“付费”列
在休眠状态下设置布尔值的正确方法是哪一种?
解决方法
尝试在POJO类中使用大
Boolean
。
或者尝试像这样更新您的映射:
<property name=\"paid\" not-null=\"true\" >
<column sql-type=\"BOOLEAN\" not-null=\"true\" name=\"paid\" />
</property>
谢谢。
, 我用这种方式。
@Column(name=\"isAdmin\",columnDefinition = \"tinyint default false\")
public boolean isAdmin() {
return admin;
}
, 我没有成功使用默认值。它可以编译,但是从不使用默认值。
我遵循以下步骤:
上课声明
@DynamicInsert
@DynamicUpdate
财产
@柱(
nullable =否,
columnDefinition = \“ BOOLEAN DEFAULT false \”))
或添加布尔选项
@Column(精度= 1,小数位= 0,可空=假,columnDefinition
= \“位默认值1 \”)
参考:http://www.mkyong.com/hibernate/hibernate-dynamic-insert-attribute-example/