gpt4 book ai didi

hibernate - 如何在可以为空的字段上创建条件?

转载 作者:行者123 更新时间:2023-12-03 15:06:38 26 4
gpt4 key购买 nike

我必须创建标准 标准在特定领域 我的属性(property) (在类(class) MyClass 上)。我必须选择所有具有 的对象prop = null 或满足 具体标准 .所以我应该做这样的事情:

Criteria criteria = this.sessionManager.getCurrentSession().createCriteria(MyClass.class);

specificCriteria = criteria.createCriteria('myProperity');
/* definition of specificCriteria */

Disjunction disjunction = Restrictions.disjunction();
disjunction.add(Restrictions.isNull('myProperity'));
disjunction.add(specificCriteria);

criteria.add(disjunction);

问题是由事实引起的:
  • 我不能将 Criteria 添加到 Disjunction(到 Disjunction 只能添加一个 Criterion),所以行:disjunction.add(specificCriteria);错了
  • 我无法以某种方式修改 specificCriteria 以接受 null,因为我无法对 null 制定标准。 (它给了我 NullPointerException)

  • 你有什么想法如何处理吗?

    最佳答案

    你可以在这里得到所有问题的答案
    这会帮助你

    例如,如果您的 MyClass 喜欢

    class MyClass{
    private long id;
    private String myProperity;
    .
    .
    .
    setter & getter
    }

    在这里,您的空问题已解决,这将符合其他标准。
    Criteria criteria = session.createCriteria(MyClass.class);

    Disjunction disjunction = Restrictions.disjunction();
    disjunction.add(Restrictions.isNull("myProperity"));

    criteria.add(disjunction);

    criteria.add(Restrictions.eq("id", value));

    关于hibernate - 如何在可以为空的字段上创建条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9903562/

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