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

发布于 2024-10-30 18:37:12 字数 638 浏览 1 评论 0原文

我正在使用 MyEclipse 对 Oracle 数据库中的视图进行休眠逆向工程。

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

它生成三个类:

  • Broker
  • BrokerID <--- 为什么?
  • BrokerDAO

本身一切正常。但为什么它要创建一个ID类呢?我想对 Broker 类使用 JSON 序列化器来获取数据并通过 AJAX 调用将其发送回浏览器。

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

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

而不是我真正想要的,这是:

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

I'm using MyEclipse to hibernate reverse engineer a view in an Oracle database.

EDIT: The view has six columns, all varchar types, no unique keys. Also, I don't have control over the view.

It's generating three classes:

  • Broker
  • BrokerID <--- why?
  • BrokerDAO

Everything works, per se. But why does it create an ID class? I'd like to use a JSON serializer against the Broker class to get the data and send it back to the browser in an AJAX call.

Now when I serialize against Broker, I get:

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

instead of what I really want which is this:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尽揽少女心 2024-11-06 18:37:12

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

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

Every Hibernate object needs an identifier of some sort.

If you don't want this generated property to be included in your JSON output, simply filter out the field. Depending on the JSON library used, you may be able to annotate the field with @JsonIgnore or something similar - refer to the documentation for the library.

初见你 2024-11-06 18:37:12

您必须进入数据库,并将一个字段设置为主键。

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

You must go in your Db, and set a field as PRIMARY KEY.

After that, hybernate reverse engineering don't create CLASS_ID.java anymore !

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文