Hibernate,jpa是否可以映射一个hashmap <object,object>?

时间:2016-03-19 08:25:37

标签: java hibernate jpa

我有三个类,其中一个是不可变的键。

@Entity
public class Key {

    @Id
    @GeneratedValue
    private Integer id;

    private int x;
    private int z;

    @OneToMany(??)
    private Person person;

    @OneToMany(??,fetch = FetchType.LAZY)
    private Building building;


    @Transient
    private int hashcode;
    .... getters, setters, overrided hascode and equals methods
}

第二个只是一个用jpa注释注释的标准类。所有类之间也存在双向映射。

@Entity
public class Person {

     @Id
     @GeneratedValue
     private Long key;

     @ManyToOne(mappedBy = "person")
     private Set<Key> keys;

     @OneToMany(??,fetch = FetchType.LAZY)
     private Building building;
     ....     getters, setteres
}

第三类也是一个jpa实体,它包含对hashmap中所有键和人的引用。如果我想保持双向映射,是否可以用jpa和hibernate映射我的类?我的结构是否被认为是一个很好的实践,或者我应该删除双向映射,但我宁愿保留它

@Entity 公共课建筑{

  @JoinTable (??)/something else
  Map<Key, Person> map;

}

0 个答案:

没有答案