【问题标题】:Adding extra fields in hibernate beans that are not fields in db table在休眠 bean 中添加不是 db 表中的字段的额外字段
【发布时间】:2012-10-05 09:50:16
【问题描述】:

是否可以在 hibernate bean 中添加不是实际数据库中的字段的额外成员变量?

例如。我需要在 MyEntity 中添加 hasComments 一个成员变量,并且 has cmets 不是 db 中的实际字段。

【问题讨论】:

标签: hibernate


【解决方案1】:

让字段是瞬态的,或者使用@Transient 注释对其进行注释。

【讨论】:

  • 我尝试添加 Transient 注释,但是当我尝试从 db 读取记录时,它给出了以下异常 org.hibernate.exception.SQLGrammarException: could not load an entity: [com.en.server.domain .Myentity#1] 引起:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'myentity0_.hasComments' in 'field list'.. 可能是什么问题?
  • 您能把您的课程粘贴到您的问题中吗?
【解决方案2】:

看到这个

@NotNull
@Column(name = "comment")
private String comment;

@Column(name = "time")
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(style = "M-")
private Date time;

@瞬态 私有字符串信息;

【讨论】:

    【解决方案3】:

    为了在开发过程中快速解决此错误,您可以使用 hbm2ddl 从休眠映射自动创建数据库,它会在表中为 transient 属性创建字段。这并不能解决长期问题,但它可以让您继续处理其他事情,直到您有时间解决根本问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多