【问题标题】:Query can not execute though HQL查询无法通过 HQL 执行
【发布时间】:2019-03-13 19:37:53
【问题描述】:

我有一个数据库。我从 IDEA 连接到它。

餐厅菜单项目和 Menu 类中数据字段的描述中,我指出了指向我的表的链接或链接 (@TABLE):

@Entity
 @Table(name="menu")
 public class Menu {

这是我使用查询 HQL 的方法:

private static void priceFromTo(){
Scanner sc = new Scanner(System.in);
System.out.println("Input minimum price: ");
Double min = sc.nextDouble();
System.out.println("Input the maximum price: ");
Double max = sc.nextDouble();
System.out.println("We have these dishes with your price : ");
System.out.println();

Query query = em.createQuery("SELECT menu FROM Menu menu WHERE menu.price BETWEEN :min AND :max", Menu.class);
query.setParameter("max",max);

query.setParameter("min", min); 列表列表 = query.getResultList();

System.out.println("列表结果的大小 = " + list.size());

它不会发出任何错误,但它不会对数据库进行更改(它不会从数据库接收数据),我已经尝试删除某些内容并将其输出到控制台。现在使用大小 LIST 检查它是否有效,但是,您猜对了,LIST.size = 0,尽管数据库中有足够的合适行。

也许它没有连接到数据库,但即使在日志中它也引用了我的数据库。

如果有必要,我会通过GitHub分享更多代码,但我认为没有必要。

【问题讨论】:

    标签: java


    【解决方案1】:

    您是否尝试过将日志变为详细并查看实际的 SQL 输出是什么?

    here

    该命令可能看起来像

    log4j.logger.org.hibernate=verbose
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-14
      • 2020-01-20
      • 2023-03-18
      • 2018-12-14
      • 2016-02-29
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多