我正在使用Jersey和Hibernate开发API REST。我在数据库中有这个表:
CODDOMINIO | CODIGO | DESCRIPCION
(CODDOMINIO,CODIGO)是复合PK。
我想用这种结构返回一个json:
[
{CODDOMINIO: "1",
CODIGOS: [
{CODIGO: "12", DESCRIPCION: "example"},
{CODIGO: "13", DESCRIPCION: "example"}]},
{CODDOMINIO: "2",
CODIGOS: [
{CODIGO: "14", DESCRIPCION: "example"},
{CODIGO: "15", DESCRIPCION: "example"}]},
]
等等......有没有办法通过hibernate注释自动生成它?
答案 0 :(得分:0)
首先,你可以尝试映射到HashMap,或任何类型的Java集合,它允许控制如何映射该集合的键和值(关于映射集合的文档here) - 我认为最好选项是映射集合Map<EntityPK, SomeValue>
- 将复合PK映射为集合的键值。
其次,如果你想为该集合提供不同的输出(比如你提供的输出),你可以声明一个@Transient
集合并操纵适合你的输出。你可以在transient properties上的hibernate文档中找到例子,如果你去了它,你会发现几个关于如何在hibernate上使用瞬态属性的例子。