[英]Spring Boot JPA LEFT JOIN in 3 tables
我正在使用Spring Boot,并尝试利用HQL在3个表之间建立一个LEFT JOIN。
我拥有的三个实体是Usage,SubscriptionPeriod和Subscription。 在实体类中设置了必要的Hibernate注释。
目标:我想通过提供订阅ID来获取所有用法,用法的标题为“ NEW”。 而且,我想在单个数据库请求中完成此操作
我有:
String hql =
"SELECT DISTINCT u " +
"FROM Usage u " +
"LEFT JOIN u.subscriptionPeriod p " +
"LEFT JOIN p.subscription s " +
"WHERE s.remoteId = :remoteId AND u.title='NEW'";
当前,“ FROM使用情况”周围似乎存在语法错误。 它显示为“无法解析符号用法”
我怎样才能实现自己想要的? 我也乐于听取其他解决方案。 谢谢。
我可能以一种更复杂的方式来思考它。 这个@Query
方法非常@Query
。 希望这对某人有用。
@Query(
"SELECT u " +
"FROM usages u " +
"LEFT JOIN u.subscriptionPeriod p " +
"LEFT JOIN p.subscription s " +
"WHERE u.paymentStatus = 'NEW' AND s.remoteId = :remoteId"
)
public List<Usage> find(@Param("remoteId") String param)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.