【发布时间】:2018-11-13 08:26:10
【问题描述】:
我的查询使用左连接时遇到问题
我有一个这样的自定义实体:
public class Form{
UserEntity currentUser;
UserEntity prevUser;
long id;
//getters and setters
}
现在我的@Query 看起来像这样。
@Query(SELECT NEW com.package.forms.Form(room.cUser,room.pUser,room.id) FROM Room room
LEFT JOIN room.cUser cuser LEFT JOIN room.pUser puser WHERE room.id = :id)
日志查询被转换成这样:
select room0_.c_user,room0_.p_user,room0.id FROM room room0_ left outer join user user1_ on room0_.c_user = user1_.id
inner join user user2_ inner join on room0_.p_user = user2_.id
这个查询没有给我任何结果。但是,当我将转换后的查询粘贴到 sql server 并将内部联接更改为左联接时,我得到了结果。如何让两个实体都使用左连接?
我无法使用本机查询,因为我在此处为我的自定义类使用 select new。
【问题讨论】:
标签: sql-server spring-boot spring-data-jpa