记jpa、json问题之:handler and unable to find...by id ..

  1. 数据库中存在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表中有一条记录

    iduser_namepasswordstate_id
    1zhangsan1234563

    state表有以下记录

    idstate_title
    1正常
    2禁用
    4过期

    根据可以找到id为1的user,但无法找到id为3的state,但异常信息是查找不到id为1的user,是因为查询时 ,spring data jpa会根据class信息,自动查找关联表的数据,where条件是user的id

  2. hibernate加载策略设置为lazy时,可以在使用的时候加载相应的数据,但会绑定一个类,在转换json时,需要将此类屏蔽。在类级别上添加如下注解:

@JsonIgnoreProperties(value={"handler","hibernateLazyInitializer"})


转载于:https://my.oschina.net/QoO/blog/365621

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值