Как выполнить подзапрос для @ElementCollection в пределах одной и той же сущности? - PullRequest
4 голосов
/ 14 сентября 2011

Рассмотрим следующую сущность.

@Entity
public class Member {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String memberName;

    @ElementCollection
    @CollectionTable(joinColumns=@JoinColumn(name="memberId"))
    @MapKeyColumn(name="prop")
    @Column(name="val")
    private Map<String, Boolean> checklist;

    /** usual getters and setters **/
}

Предполагая, что вышеуказанная сущность создает две таблицы;member и member_checklist;Могу ли я выполнить следующий SQL-оператор с jpa 2 критерия API?

select * from member where id not in (
    select memberid from member_checklist where prop in (2));

Я прочитал Hibernate Criteria API - добавление критерия: строка должна быть в коллекции Я до сих пор не могу понять, как я могу достичь своей цели.

С нетерпением ждем экспертных заключений.

...