- 数据库中存在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"})
时间: 2024-07-30 09:55:27