gpt4 book ai didi

java - 在 Hibernate 中通过任意属性查找对象

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

总的来说,我对 Hibernate (4) 和 ORM 比较陌生,想知道按属性查找对象的最简单或最方便的方法

class Foo {

private Long id;

private String name;

private Integer age;

private Integer favoriteNumber;

private String catchphrase;

}

假设我有一个 Foo 的实例,属性是任意设置的,或者换句话说,我不知道设置了哪些属性(可能没有设置 id)。

基于非null 的属性,我想从数据库中找到任何匹配的对象。

理想情况下,我想使用这样的方法:

session.getCurrentSession().find(foo); 返回 Foo 的列表。

附言。 我不想使用反射来完成这个!

最佳答案

针对您的用例的最佳方法是使用示例查询:

session.getCurrentSession()
.createCriteria(Foo.class).add(Example.create(foo)).list();

更新:按示例查询不在搜索中包含 id 属性。我在这里假设您对通过 id 进行的查询不感兴趣。如果您知道 id 并且您对 id 查询感兴趣,则需要单独执行:

(Foo) session.getCurrentSession().get(Foo.class, fooId);

关于java - 在 Hibernate 中通过任意属性查找对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9140902/

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