gpt4 book ai didi

java - Hibernate 标准显示零结果,但其生成的查询返回正确的结果

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

我很困惑,因为我编写的以下标准返回零结果,但是当我在数据库上运行其生成的 SQL 查询时返回正确的结果。

Criteria criteria = sessionFactory.getCurrentSession()
.createCriteria(Product.class, "product")
.add(Restrictions.ilike("product.name", " %" + name + "%"))
.add(Restrictions.ilike("product.code", code))
.setProjection(Projections.property("product.name").as("name"));

List<String> st = criteria.list();
System.err.println("st size is:" + st.size());


@Entity
public class Product implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 887867468898785287L;
@Id
private String code;
@ManyToOne
@Id
private Factory factory;
private String name;
...

}

控制台输出

Hibernate: 
/* criteria query */ select
this_.name as y0_
from
Product this_
where
lower(this_.name) like ?
and lower(this_.code) like ?
st size is:0

最佳答案

正如 Sergey Lagutin 所建议的,我认为问题出在代码中 % 之前的空格。如果这不是解决方案,请检查数据库连接以确保您连接到正确的数据库。

关于java - Hibernate 标准显示零结果,但其生成的查询返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31801254/

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