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

标签 java oracle hibernate reverse-engineering myeclipse

我正在使用 MyEclipse 对 Oracle 数据库中的 View 进行 hibernate 逆向工程。

编辑:该 View 有六列,都是 varchar 类型,没有唯一键。另外,我无法控制 View 。

它生成三个类:

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

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

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

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

而不是我真正想要的是:

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

最佳答案

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

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

关于java - Hibernate 逆向工程 - 为什么我会获得 ID 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5568346/

相关文章:

java - 如何组织项目?

Oracle:推迟开始/结束 block 中的约束?

mysql - 从每组中选择前 N 行,第一个最大行,相差一列(Spring、Hibernate、JPQL)

java - 有没有办法将 stream().collect() 1 项分成 2 组?

java - 更改maven依赖项的内容

java - 继承一个非gwt模块

oracle - Oracle 存储过程的 "Boolean"参数

sql - join 子句与 where 子句中的 oracle sql 自连接过滤器

java - 如何在 Hibernate 中记录数据库事务的开始和完成

java - JPA+Hibernate - 实体中的动态 OneToMany 关系