我在SQL中具有以下内容:

SELECT * FROM table2 t2, table1 t1 WHERE t1.id=1 AND t2.t1_id IN(1, 2);


我将如何在JPA中做到这一点?

我试过了:

SELECT t2 FROM Table2 t2, Table1 t1 WHERE t1.id = :t1_id AND t2.t1 IN (t1.t1Collection)


使用伪类:

Table1
  private int id;
  private Collection<Table1> t1Collection;

Table2
  private int t2;
  private Table1 t1_id;


但是我得到:

org.hibernate.exception.SQLGrammarException: could not execute query; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query

最佳答案

尝试elements关键字:

SELECT t2 FROM Table2 t2, Table1 t1 WHERE t1.id = :t1_id AND t2.t1 IN elements(t1.t1Collection)

07-24 18:58
查看更多