我在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
答案 0 :(得分:3)
尝试elements
关键字:
SELECT t2 FROM Table2 t2, Table1 t1 WHERE t1.id = :t1_id AND t2.t1 IN elements(t1.t1Collection)