org.hibernate.PropertyAccessException - 如何从数据库中获取空值?
这是例外:
org.hibernate.PropertyAccessException:空值被分配给 com.FOO.hibernate.Tccl.MIN 的原始类型设置器的属性。
我发现当我尝试执行以下操作时会发生此异常从 MIN 列获取空值。对于这个问题有一些解决方案:
- 为 MIN 列设置“NULL”(字符串)
- 设置默认值,例如 0 或 0.0。
但 MIN 列具有 INT 类型,在我的例子中,0 或 0.0 就是这样的值。
这是我的代码:
String HQL_QUERY = "from Tccl tccl";
Query query = session.createQuery(HQL_QUERY);
List<Tccl> list = query.list();
for(Tccl tccl : list){
//fetch data here
}
异常发生在:
List<Tccl> list = query.list();
是否有解决方案?
Here is the exception:
org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.FOO.hibernate.Tccl.MIN.
I found that this exception happen when i try to get the null value from MIN column. There're some solutions for this issue:
- Set "NULL" (a string) for MIN column
- Set default value, like 0 or 0.0.
But MIN column has the INT type and 0 or 0.0 is such a value in my case.
Here is my code:
String HQL_QUERY = "from Tccl tccl";
Query query = session.createQuery(HQL_QUERY);
List<Tccl> list = query.list();
for(Tccl tccl : list){
//fetch data here
}
The exception happen at:
List<Tccl> list = query.list();
Are there any solutions for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该为 Tccl 类的字段“MIN”使用对象类型
Integer
,而不是原始类型int
。这将允许空值。
You should use the Object type
Integer
for your field "MIN" of the Tccl class instead of the primitive typeint
.This will allow null values.