java - 基本类型 map 的 Hibernate 标准

标签 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 来做吗?

最佳答案

很有趣。我从来没有做过一个 map ,其中键是对象,并将值串起来。一般情况是相反的。你能把字符串保留在 C 上,并使用直接集合吗?还是这里发生了一种奇怪的多对多关系?

关于java - 基本类型 map 的 Hibernate 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13127184/

相关文章:

java - 使用 Hadoop 0.20+ 生成多个输出文件

java - 了解此警告 : The serializable class does not declare a static final serialVersionUID

java - 想要从 J2SE 应用程序管理 Google 云存储桶

java - 在java中检查4个Arraylists不包含相同值的最简单方法

java - 检查 Java : which is the best method? 中的集合是否为空

java - JFrame 之间的交互

java - 为什么JPA合并操作会导致更新前多次选择?

java - Controller 方法持久化问题

java - 如何通过 Hibernate 按页查询到表?

c# - .NET 中的嵌套字典集合