基本类型映射的Hibernate Criteria

时间:2012-10-29 18:02:01

标签: java hibernate collections mapping

我有一个看起来像这样的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;
    }
}

如何进行查询(带标准)以获得具有“A”的所有“В”,例如“test”作为“someMap”中的值?或者我可以只使用清晰的SQL吗?

1 个答案:

答案 0 :(得分:1)

有趣。我从来没有做过一个地图,其中key是对象,并将值字符串。一般来说,这是相反的方式。你能把字符串保存在C上,并使用直接集合吗?或者这里有很多很多关系吗?