gpt4 book ai didi

java - 如何在Hibernate中获取结果集

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

我正在尝试在 hibernate 状态下执行以下操作:

Session session2 = HibernateUtil.getSessionFactory().openSession();
List<TitleEntity> tt = session2.createQuery(
"select * from title where url = 'http://google.com'
").getResultList();

但是,我收到以下错误:

Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select * from title where url = 'http://google.com']
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:133)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:164)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:670)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:103)

获取 SELECT * 作为结果集的正确方法是什么?

最佳答案

在 HQL 中,您不需要指定 * 字符,事实上您不需要指定 select ,除非您只想返回查询的一部分。您还需要专门引用实体名称。因此,删除 select * 并更新实体名称可以修复您的查询:

from TitleEntity where url = 'http://google.com'

错误表明第 8 列是罪魁祸首,这直接表明查询的 * 字符。

引用:https://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/queryhql.html#queryhql-select

关于java - 如何在Hibernate中获取结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51072072/

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