【问题标题】:Hibernate annotation non auto increment primary key columnHibernate 注释非自增主键列
【发布时间】:2013-11-27 05:06:41
【问题描述】:

我想将数据库中的一列映射为非自动递增的主键。 请建议我如何为该列创建休眠注释

【问题讨论】:

  • Bydefalut 主键列不会自动增加,直到您添加任何注释以使其自动增加
  • 但是当我尝试插入数据库时​​,它正在使用 where 子句中的主键列执行选择查询

标签: hibernate


【解决方案1】:

使用定义该属性到主键列的映射的@Id 注释。不要使用@GeneratedValue 注解。

@Id
@Column(name = "id")
Integer id;

【讨论】:

  • 当我尝试插入数据库时​​按照您的建议执行此操作时,它正在执行选择查询
  • 当我使用@generatedvalue 作为主键时,插入查询正在正确执行,否则不会
  • 如您所说,您的主键列不是自增的,您需要在插入操作时设置主键。但是如果你想让hibernate设置主键,那么使用你说一直在使用的@generatedvalue。
  • 当我从用户界面提供主键值,并使用带有注释的 hibernate 插入它时,它没有执行插入查询。在 hibernate 中是否有必要我们不能为主键分配值,它是自动生成的.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
  • 2018-12-31
相关资源
最近更新 更多