遇到Hibernate的坑,总会浪费不少时间,记一下。
1.同一个事务中,先更新(增/删/改)表,再从之前更新的表查询,默认返回的是更新之前的内容。
2.执行HQL和SQL时返回的数据类型是不一样的,现在遇到的有:
select count(id) from table1; -- HQL时返回的Long,SQL时返回的不是Long,保险起见可以按Number接收,再number.longValue();
select id from table1; -- mysql的id字段类型为bigint,bean字段类型为Long,HQL时返回的Long,SQL时返回的不是Long,保险起见可以按Number接收,再number.longValue();