![](/img/trans.png)
[英]Spring Data JPA / OpenJPA: Is there an equivalent to SQL !=-Operator
[英]Spring Data JPA + openjpa: Is it possible to join a table not in OR-Hierarchy?
因此,以下用例:
我有两个表和相应的实体,我们称它们为表A(左侧)和表B(右侧)。 两个表都有一个“大小”列,但是在我的OR模型中,表a没有引用表b的对象。 现在,我想要实现的内容(通过Spring Data JPA @ Query-Annotation / JPQL,不使用本机SQL)类似于以下查询(有点简化):
@Query("select a from TheLeftTable a join TheRightTable b" +
"where b.size = a.size ")
Page<TheLeftTable> findAllAvailableEntries(Pageable p);
但是在尝试启动雄猫时出现以下异常原因:
...由以下原因引起:org.apache.openjpa.persistence.ArgumentException:在字符48处遇到“加入TheRightTable b”,但预期:[“。”,“ FETCH”,“ INNER”,“ JOIN”,“ LEFT”, ]
所以我的问题是:是否可以仅使用JPQL / JPA创建这样的查询? 请记住:在我的OR模型中,TableA没有表B中的对象。我的简化的Entitiy-Property看起来像这样:
@Column(name = "size")
String size;
如果不可能,那么任何其他想法都将是很棒的。 (除了将表A的实体更改为具有实体B的对象,这是不可能的)
没问题,可以这样做:
SELECT a FROM TheLeftTable a, TheRightTable b WHERE b.size = a.size
这称为交叉连接,但是如果索引了列size
,则不会发现任何性能问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.