gpt4 book ai didi

spring - 在 Spring Boot 中使用 HQL 查询

转载 作者:行者123 更新时间:2023-11-29 11:49:14 29 4
gpt4 key购买 nike

我有一个有多个模型类的 Spring Boot 项目

我想在我的 DAO 实现中使用多个模型类。

谁能解释一下我如何在这里使用 HQL 查询。

我看到的大多数示例都使用 CRUDRepository。但在我的理解中,这将我们限制在一个模型类中(如果我的理解有误,请纠正我)。

其次,使用 CRUDRepository 将我限制为非常具体的方法。但我需要的 HQL 查询可能更复杂,例如:

Query query = session.createQuery(from Employee where name=:name and place=:place and phone=:phone and gender=:gender);

即使对于这样的 HQL 查询,使用 CRUDRepository 也是标准做法吗?否则我怎么能使用这样的 HQL 查询。 (如果可能的话,还请添加我需要添加的所有依赖项和注释)。我正在使用 Hibernate 和 postgres。

最佳答案

如果您希望在不使用存储库等的情况下执行动态 HQL 查询,这对我来说非常有用:

    @Autowired
EntityManager entityManager;

@RequestMapping("/query")
@ResponseBody
public String testQuery() {

Query query = entityManager.createQuery("select u from User u");
List<User> users = query.getResultList();
users.forEach(u -> System.out.println(u.getFirstname()));
return "See Console";
}

它的好处是,如果您很快想要测试一个查询,并且您正在使用 Spring LiveReload、JRebel、DCEVM 或 HotSwap 和 Hybris,您可以更改查询并保存和刷新。

关于spring - 在 Spring Boot 中使用 HQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47894691/

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