Hibernate逆向工程 - 为什么我要获得ID类?

时间:2011-04-06 14:49:28

标签: java oracle hibernate reverse-engineering myeclipse

我正在使用MyEclipse来休眠反向工程Oracle数据库中的视图。

编辑:视图有六列,所有varchar类型,没有唯一键。另外,我无法控制视图。

它产生了三个类:

  • 经纪人
  • BrokerID< ---为什么?
  • BrokerDAO

一切都有效。但为什么要创建一个ID类呢?我想对Broker类使用JSON序列化程序来获取数据并在AJAX调用中将其发送回浏览器。

现在,当我对Broker进行序列化时,我得到了:

[{
   id: {
     field1: "",
     field2: ""
   }
}, {
   id: {
     field1: "",
     field2: ""
   }
}, {
   id: {
     field1: "",
     field2: ""
   }
}]

而不是我真正想要的是什么:

[{
  field1: "",
  field2: ""
}, {
  field1: "",
  field2: ""
}, {
  field1: "",
  field2: ""
}]

2 个答案:

答案 0 :(得分:1)

每个Hibernate对象都需要某种标识符。

如果您不希望此生成的属性包含在JSON输出中,只需过滤掉该字段即可。根据所使用的JSON库,您可以使用@JsonIgnore或类似的东西对字段进行批注 - 请参阅库的文档。

答案 1 :(得分:0)

您必须进入Db,并将字段设置为PRIMARY KEY。

之后,hybernate逆向工程不再创建CLASS_ID.java了!