gpt4 book ai didi

java - 如何在 hibernate 映射中添加另一个搜索参数?

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:36 27 4
gpt4 key购买 nike

我是 hibernate 新手,仍在学习基础知识。如果有人能指出我正确的方向,我将不胜感激。

我有一个类:

目的地

  • ID
  • 姓名
  • 经度
  • 纬度

我可以根据 id 读取目的地,如下所示:

List result = session.createQuery("from Destination as d where d.id=2").list();

但是,我想使用名称从数据库读取目的地。我也许可以写这样的东西作为查询:

String name;  // name set somewhere else, say a function argument
List result = session.createQuery("from Destination as d where d.name LIKE %"+name).list();

我相信这将产生名称类似于(变量)name的所有目的地。

hibernate 中是否有针对此类用例的内置功能,或者是否有更好的方法来处理此问题?

编辑:我的思考过程中遵循的一件事是:目标数据库表上的名称列将有一个索引设置。我可以使用 hibernate 以某种方式将此索引映射到 Destination 类吗?

最佳答案

您可以通过连接字符串来构建查询。一个更优雅的解决方案是使用 Hibernate Criteria API .

您的查询将类似于:

List result = session.createCriteria(Destination.class)
.add(Restrictions.like("name", "%" + name)
.list();

关于java - 如何在 hibernate 映射中添加另一个搜索参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9043639/

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