mysql数据库默认字段对hibernate查询的影响(原创)
今天
public void testFindByExample() {
SimFeesimF=newSimFee();
simF.setFee(100d);
System.out.println(simF.getFee());
Listlist=dao.findByExample(simF);
assertEquals(100d,((SimFee)list.get(0)).getFee());
}
执行咋也不出结果,数据库明明有fee等于100.0的,输出也是100.0可是list就是为0
后来一看后台的输出语句才知道。SimFee 里private long id;
privateSimsim;
privatelongtester;
privateDatemonth;
privatedoublefee;
tester是数值型的。select查询的时候,会将数值型的默认数值为0或0.0此外boolean类型的实体字段为false
而实际我们要的是null。(我只setFee了,那么tester默认设置为0,所以没有数据可以查出来)
对象类型的自动默认的是null。所以我们就改为private long id;
privateSimsim;
privateLongtester;
privateDatemonth;
private Double fee;这样就可以了。
相关推荐
emmm00 2020-11-17
世樹 2020-11-11
tufeiax 2020-09-03
疯狂老司机 2020-09-08
sunnyxuebuhui 2020-09-07
xkorey 2020-09-14
CoderToy 2020-11-16
bianruifeng 2020-11-16
云中舞步 2020-11-12
暗夜之城 2020-11-11
Coder技术文摘 2020-09-29
huacuilaifa 2020-10-29
Gexrior 2020-10-22
技术之博大精深 2020-10-16
张荣珍 2020-11-12
amienshxq 2020-11-14
ASoc 2020-11-14
yungpheng 2020-10-19
loveyouluobin 2020-09-29