次のような Hibernate マッピングがあります。
class A {
private Long id;
private Map<C,String> someMap;
...
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@ElementCollection(targetClass=String.class, fetch=FetchType.EAGER)
public Map<C, String> getSomeMap() {
return someMap;
}
pubic void setSomeMap(Map<C,String> someMap){
this.someMap = someMap;
}
}
class B {
private Long id;
private A a;
...
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@OneToOne
public A getA(){
return a;
}
public void setA(A a){
this.a = a;
}
}
class C {
private Long id;
...
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
たとえば、「someMap」の値として「test」を持つような「A」を持つすべての「Â」を取得するために、クエリを (基準を使用して) 実行するにはどうすればよいですか? または、クリアSQLでのみ行うことができますか?