gpt4 book ai didi

java - 无法使用类型编号的 where 条件从数据库中检索行

转载 作者:行者123 更新时间:2023-11-30 10:13:09 25 4
gpt4 key购买 nike

我有数据库表 Employee,它包含以下字段。

eid(VARCHAR 20) numOfUnit(编号 15,2) paidAmt(编号 15,4) paidUnit(编号 15,6)

-------------------------------- ----------- ------------ ----------- ----------------------< em>------------------------------------------

AB1001                  0                        0                           0

And i am trying to execute the below code in java. But it is not returning anything.

List <Employee> emplist = new ArrayList<Employee>(session.createQuery(
"from Employee where "
+ " eid='AB1001' and numOfUnit='0' and paidAmt='0' and paidUnit='0'").list());
System.out.println("emp size:: "+emplist.size());

Pojo类字段定义:

private String eid;
private Double numOfUnit;
private Double paidAmt;
private Double paidUnit;

我不知道我上面的查询有什么问题。我们需要在我的 where 条件中给出小数值 (0.0) 吗?

最佳答案

这是推测性的,但我认为将 numOfUnitpaidAmtpaidUnit 字段与字符串进行比较并不合适文字,而实际上这些列是数字。尝试将它们与数字进行比较:

List <Employee> emplist = new ArrayList<Employee>(session.createQuery(
"from Employee where "
+ "eid = 'AB1001' and numOfUnit = 0 and paidAmt = 0 and paidUnit = 0").list());
System.out.println("emp size:: "+emplist.size());

如果上述运行,但仍然生成一个空列表,那么接下来要检查的是直接针对 Oracle 运行相应的原始查询。

关于java - 无法使用类型编号的 where 条件从数据库中检索行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51497464/

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