gpt4 book ai didi

java - 如何执行 HibernateQuery

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

我正在从 C# 转向 java,这是我第一次尝试实际编写一些东西,我正在尝试设置我的数据层,但我认为我缺少像 .NET 中的 LINQ to SQL 中的 DataContext 这样的东西

我正在尝试使用 Hibernate 查询数据库,但似乎我错过了一些东西,我下载了 Hibernate 4 和 QueryDSL 来进行类型安全查询。

接下来,我连接到我的 postgreSQL 数据库并使用 Dali 生成 DAO 对象(我认为?在菜单中我从表中选择了 JPA 实体),编写了我需要的查询,但我不确定我必须在哪个对象上执行查询(某些对象)比如连接管理器之类的?)

我认为我在这里遗漏了一些东西:

EmployeesRepository repo = new EmployeesRepository();
List<Employees> employees = repo.GetByName("Steve");
Employees s = employees.get(0);
String g = s.getName();

我的实体存储库:

public class EmployeesRepository {

public List<Employees> GetByName(String ename)
{
HibernateQuery qry = createQuery(employees);
qry.where(employees.name.like(ename));
return qry.list(employees);
}

private HibernateQuery createQuery(QEmployees employee)
{
return new HibernateQuery().from(employee);
}
}

我得到:

java.lang.UnsupportedOperationException:分离查询中没有可用的 session

最佳答案

在执行查询之前,您需要创建/打开一个 hibernate session 。

示例:

Session session = HibernateUtil.getSessionFactory().openSession();

完成查询执行后,需要关闭。

session.close();

这里是step by step example .

注意:您正在使用的 hibernate 版本可能与上面示例中描述的 hibernate 版本不匹配,您可能需要对其进行调整。

关于java - 如何执行 HibernateQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13669629/

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