记jpa、json问题之:handler and unable to find...by id ..
数据库中存在ID为1的user用户信息,但系统查不到,通过查看打印的sql语句,发现有state表的引用,生成的sql语句类似:select ....from user u inner join state s on u.state=s.id where u.id=1,其中user表的state字段是空的,故而无法查找到数据。
举个例子:user表中有一条记录
id user_name password state_id 1 zhangsan 123456 3 state表有以下记录
id state_title 1 正常 2 禁用 4 过期 根据可以找到id为1的user,但无法找到id为3的state,但异常信息是查找不到id为1的user,是因为查询时 ,spring data jpa会根据class信息,自动查找关联表的数据,where条件是user的id
hibernate加载策略设置为lazy时,可以在使用的时候加载相应的数据,但会绑定一个类,在转换json时,需要将此类屏蔽。在类级别上添加如下注解:
@JsonIgnoreProperties(value={"handler","hibernateLazyInitializer"})
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。