2011-01-14 87 views
1
class A{ 

    private List<B> bs; 

    ... 
} 

class B{ 

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

,我想有这样的:如何使用自定义键将@OneToMany映射到java.util.Map?

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的Map作为地图的关键字。

由于提前, Neuquino

回答

4

尝试休眠注释映射键

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

谷歌集合了使用此设施的一类。尝试一下。