父表中的单个主键多个外键hibernate子表

时间:2015-01-03 14:17:35

标签: mysql hibernate

我有一个表类别,员工 员工表有列

  Id   Name
  ---  ----
  1    Programmer
  2    Manager
  3    juniorprogrammer
  4    seniorprogrammer

 Child table 
  id  categoryid  subcategoryid  empid  Dateofjoin 
  --  ----------  -------------  -----  ----------
  1      2           Null         177     12-Dec-13
  2      1            3           179     12-Dec-13
  3      1            4           180     12-Nov-12

我为这两个表创建了一个Pojo类,我必须从这些表中做一个select查询。

可能的输入参数(empid)

我需要使用hibernate获取categoryid和subcategoryid的相关名称

我是Hibernate的新手,任何人都可以帮我做一个选择查询。

谢谢, Mithun

1 个答案:

答案 0 :(得分:0)

您需要了解的是Hibernate Enumerated Types

总之有几种方法可以做你想要的,我可以建议2:使用java enum 单独的表

  1. 不要创建Category表,而是用java中的@Enumerated(EnumType.STRING)注释字段替换categoryid列。这样,hibernate将枚举.toString()方法结果作为数据库列名。
  2. 如果您需要类别表,则需要创建另一个@Entity @Table类别POJO来表示您的类别表,然后将其映射为@ManyToOne
  3. 如果您不考虑类别表中的任何其他列,我建议您按照第一种方式进行操作。 (除非你的任务完全像这样)