gpt4 book ai didi

java - Criteria 查询返回所有记录

转载 作者:行者123 更新时间:2023-12-02 04:46:53 26 4
gpt4 key购买 nike

SQL:

String hql1 = "SELECT /* PARALLEL(MVR,16) PARALLEL(MVRS,16)*/  * FROM
ICM MINUS SELECT I1.* FROM ICM I1 , C1_ICM_STATIC I2 WHERE
I1.METRIC_DIRECTION=I2.METRIC_DIRECTION AND
I1.METRIC_NAME=I2.METRIC_NAME AND I1.METRIC_UNIT=I2.METRIC_UNIT AND
I1.TERMINATION_POINT_ID=I2.TERMINATION_POINT_ID AND
I1.TERMINATION_POINT_NAME=I2.TERMINATION_POINT_NAME AND
I1.TERMINATION_POINT_TYPE=I2.TERMINATION_POINT_TYPE";

条件查询

icms1 = (List<ICM>) session.createCriteria(ICM.class, hql1).list();

我使用 SQL Developer 执行了 hql1,然后只得到了一个结果,但是当我将 SQL 查询与 Criteria 集成时,它返回了我ICM 表中的所有记录

如果 SQL 查询在 SQL Developer 中仅返回一个结果,为什么标准 API 会返回 ICM 表中的所有记录?

最佳答案

Why criteria API returning all records in ICM table?

从技术上讲,您没有使用条件 api 进行关联。

尝试这样的事情。 Refer.

 return criteria.createCriteria(A.class)
.createCriteria("b", "join_between_a_b")
.createCriteria("c", "join_between_b_c")
.createCriteria("d", "join_between_c_d")
.add(Restrictions.eq("some_field_of_D", someValue));

关于java - Criteria 查询返回所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29598794/

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