【问题标题】:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'sequence_next_hi_value' in 'field listcom.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:'字段列表中的未知列'sequence_next_hi_value'
【发布时间】:2012-10-13 10:31:38
【问题描述】:

谁能说出这个错误的原因?

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 
Unknown column 'sequence_next_hi_value' in 'field list

我正在使用hibernate 连接到mysql 数据库。我能够连接到数据库并且一切正常,直到我更改 persistence.xml 并添加了 datasource

【问题讨论】:

  • 表示未找到此列sequence_next_hi_value。可能是因为你的加入,(很难说)。你能发布你的查询吗?
  • 您很可能正在对不包含名为 sequence_next_hi_value 的列的表运行查询
  • 你能发布一些编码吗?
  • 是的,你没问题,这个 cloumn 不存在。问题是生成这个专栏的不是我。不知何故,它是自动生成的。只有当我尝试“插入”查询时它才会崩溃。我认为这与主键有关。我正在使用策略=GenerationType.TABLE。哪段代码会有帮助?

标签: java mysql hibernate jdbc


【解决方案1】:

问题与您的实体使用的标识符生成类型有关。

确保您已提供以下注释和参数:

@GeneratedValue(strategy = GenerationType.TABLE, generator="name_of_the_generator")
@TableGenerator( name = "name_of_the_generator", table = "table_with_keys", pkColumnName = "PK_NAME", valueColumnName = "PK_VALUE")

我的猜测是您将 valueColumnNamepkColumnValue 混合在一起。

【讨论】:

    【解决方案2】:

    我有同样的问题,我的解决方案是将主键上的 GenerationType 从 @GeneratedValue 策略更改为 hibernate 5 上的 GenerationType.IDENTITY 和 MySQL 作为 DB

    【讨论】:

      猜你喜欢
      • 2013-02-27
      • 2017-06-27
      • 2016-10-07
      • 2014-07-19
      • 2018-05-15
      • 1970-01-01
      • 2015-03-04
      • 2018-05-12
      • 2015-05-28
      相关资源
      最近更新 更多