基本上,我的存储库中有两种方法。 select
工作正常
在update
上我得到了
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
在没有WHERE r.user.info.team.id = :teamId
或具有更简单条件(无联接)的情况下进行更新也可以正常工作。所以我认为r.user.info.team.id
有问题,但是为什么select
可以正常工作?
@Query("SELECT r FROM Review r " +
"WHERE r.user.info.team.id = :teamId")
List<Review> select(@Param("teamId") long teamId);
@Modifying
@Transactional(propagation = Propagation.REQUIRES_NEW)
@Query("UPDATE Review r SET r.person = :person " +
"WHERE r.user.info.team.id = :teamId")
void update(@Param("teamId") long teamId, @Param("person") Profile person)
更新日志:
Hibernate:
update
reviews cross
join
set
pre_person_id=?
where
uwi_tem_id=?