我正在使用Spring,并试图利用HQL在3个表之间设置一个左联接。
我拥有的三个实体是使用,SubscriptionPeriod和订阅。在实体类中设置了必要的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'";目前,似乎有一个语法错误“从使用”。它写着“无法解决符号的使用”。
我怎样才能实现我想要的?我也愿意听取其他解决办法。谢谢。
发布于 2019-09-13 19:28:22
我可能是以一种更复杂的方式思考的。这个方法上的@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)https://stackoverflow.com/questions/57928286
复制相似问题