gpt4 book ai didi

java - Hibernate 在 db 中查找现有对象

转载 作者:行者123 更新时间:2023-12-02 10:53:20 25 4
gpt4 key购买 nike

这里有一个简单的问题:

如果我有一个对象,其中包含已初始化和未初始化的值。有没有一种简单的方法在我的数据库中找到适合该 hibernate 的所有实体? (无需列出和检查对象的每个变量)

示例:

我上了这门课:

public class User {
private int id;
private String name;
private String email;
private boolean activ;
}

我希望能够做到这一点:

User user1 = new User();
user.setActive() = true;

User user2 = new User();
user.setActive(true);
user.setName("petter")

listUser1 = findAllUser(user1);
listUser2 = findAllUser(user2);

这里 listUser1 将包含所有活跃用户,listUser2 将包含所有名为 petter 的活跃用户。

谢谢大家!

编辑/解决方案

所以这是我的代码(我使用了一个与我的示例类似的类)。它工作得很好,但问题是根据 Eclipse:“来自 SharedSessionContract 类型的方法 createCriteria(Class) 已被弃用”...

public static List<Personne> findAllPersonne(Personne personne) {
List<Personne> listPersonne;

EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("testhibernate0");
EntityManager entityManager = entityManagerFactory.createEntityManager();

Session session = entityManager.unwrap(Session.class);

Example personneExample = Example.create(personne);
Criteria criteria = session.createCriteria(Personne.class).add(personneExample);

listPersonne = criteria.list();

entityManager.close();
return listPersonne;
}

那么..我怎样才能以更好的方式做到这一点?我研究过 CriteriaQuery 但找不到如何使用它的示例。

最佳答案

是的,它存在:谷歌的关键词是“通过示例查询”或“qbe”。 https://dzone.com/articles/hibernate-query-example-qbe

关于java - Hibernate 在 db 中查找现有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37945390/

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