gpt4 book ai didi

java - hibernate 查询执行时将空值分配给原始类型的属性?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:04 25 4
gpt4 key购买 nike

我在dao中有下面的代码片段

 String GET_CUSTOMER="SELECT * from customer where custName=:custName"
Session session = getHibernateUtil().getSession();
SQLQuery query = session.createSQLQuery(GET_CUSTOMER);

query.setParameter("custName", custName);
query.setResultTransformer(Transformers
.aliasToBean(Customer.class));

Customer custData = (Customer) query
.uniqueResult();//line

Customer 表有一些 int 列,其中一些值为 null。现在在第 1 行我得到错误将空值分配给 Customer.Address 的原始类型 setter 的属性

hibernate/query/Transformer 有没有办法自动将空值转换为 0?我刚刚提到了一个表,即 customer 但有各种连接表,其中在各个列中包含 int 值作为 null 所以我这样做不想处理每个表的查询。

更新:- 客户不是 Hibernate 实体。它与 int 类型的实例字段 pojo

最佳答案

Customer table has some int columns for which some values as null.

在这种情况下,我建议改为使用 Integer 字段。虽然您可以可能让 Hibernate 将 NULL 合并为 0(尽管可能不是以一种简单的全局方式),但它并没有真正有效地映射您的数据- 你为什么要丢失这样的信息?

关于java - hibernate 查询执行时将空值分配给原始类型的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14827249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com