Cómo asignar a un @OneToMany java.util.Map con teclas personalizadas?
-
11-10-2019 - |
Pregunta
class A{
private List<B> bs;
...
}
class B{
private Long id;
private String name;
...
}
Y me gustaría tener este aspecto:
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;
...
}
No sé si está claro lo que me gustaría hacer, pero es tan simple como la asignación de un uno a muchos a un mapa con el nombre de B como la clave del mapa.
Gracias de antemano, Neuquino
Solución
Trate la hibernación anotación MapKey
@MapKey(name = "name")
@OneToMany()
private Map<String,B> bs;
Otros consejos
Google Colecciones tiene una clase con esta instalación. Probarlo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow