查阅了一些资料发现网上也有人发生过此类问题!但没有看到原因,于是我将jpa的sql打印出来发现。由于我使用的类 一对多关联了张表,导致在查询时的sql拼了2个left join产生笛卡尔积。我解决的办法:将实体类fetch = FetchType.EAGER 改为 LAZY,然后在方法@Transactional 然后可以正常使用。
还有一种解决办法:可将实体类onetomany 使用Set集合接收,这样会去重。
autoReconnect=true&autoReconnectForPools=true&