按列进行Hibernate查询分组

时间:2014-07-25 07:38:19

标签: hibernate

我正在使用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注释自动生成它?

1 个答案:

答案 0 :(得分:0)

首先,你可以尝试映射到HashMap,或任何类型的Java集合,它允许控制如何映射该集合的键和值(关于映射集合的文档here) - 我认为最好选项是映射集合Map<EntityPK, SomeValue> - 将复合PK映射为集合的键值。

其次,如果你想为该集合提供不同的输出(比如你提供的输出),你可以声明一个@Transient集合并操纵适合你的输出。你可以在transient properties上的hibernate文档中找到例子,如果你去了它,你会发现几个关于如何在hibernate上使用瞬态属性的例子。