gpt4 book ai didi

java - 复合主键,仅按其中之一进行搜索

转载 作者:行者123 更新时间:2023-12-01 09:35:09 25 4
gpt4 key购买 nike

我有一个复合主键

    public class MainPk{

private int keyOne;
private int keyTwo;

// getters and setters
}

我只设置了 KeyOne,但是在查询中搜索了两个值

select * from ..... where keyOne = ? and KeyTwo = ?

有没有办法只搜索一个?我知道我可以使用条件或查询,我问是否可以用这种方式

最佳答案

问题是您可能正在执行以下操作:

MainPk id = new MainPk();
id.setKeyOne( someValue );

List<YourEntity> results = session
.createQuery( "FROM YourEntity e WHERE e.id = :id" )
.setParameter( "id", id )
.getResultList();

您可以通过仅显式查询复合 id 的单个值来重构您的查询并完成您正在寻找的内容。 Hibernate 不知道是否将组合中的 null 值转换为文字 null 或者是否应该忽略它。

List<YourEntity> results = session
.createQuery( "FROM YourEntity e WHERE e.id.keyOne = :keyOne" )
.setParameter( "keyOne", someValue )
.getResultList();

关于java - 复合主键,仅按其中之一进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39041798/

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