如何使用自定义键将@OneToMany映射到java.util.Map?

时间:2011-01-14 21:09:03

标签: java hibernate hibernate-mapping

class A{

  private List<B> bs;

  ...
}

class B{

  private Long id;
  private String name;
  ...
} 

我想要这个:

class A{

  // the map should have B.name as key
  private Map<String,B> bs;

  ...
}

class B{
  private Long id;
  private String name;
  private A a;
  ...
} 

我不知道我是否清楚我想做什么,但它就像将一对多关系映射到一个名为B的地图作为地图的关键字一样简单。

提前致谢, Neuquino

2 个答案:

答案 0 :(得分:4)

尝试使用hibernate注释MapKey

@MapKey(name = "name")
@OneToMany()
private Map<String,B> bs;

答案 1 :(得分:0)

Google Collections有一个有此功能的课程。试试吧。