Как сопоставить @OneToMany с java.util.Map с помощью пользовательских ключей? - PullRequest
1 голос
/ 15 января 2011
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 ]

4 голосов
/ 15 января 2011

Попробуйте аннотацию в спящем режиме MapKey

@MapKey(name = "name")
@OneToMany()
private Map<String,B> bs;
0 голосов
/ 15 января 2011

В Google Collections есть класс с этим средством. Попробуй.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...