【问题标题】:JPA @GenerateValue not generating values in MySQLJPA @GenerateValue 不在 MySQL 中生成值
【发布时间】:2012-11-25 05:21:20
【问题描述】:

我正在设置一个表/实体以在表的第一列中自动生成 int 值,这很可能只是目前在带有 MySQL 的 Eclipse 中的主键。看起来我已经正确设置了 与:

@Entity
@Table(name="Table")
public class Table implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private int id;

它可以很好地连接到数据库,并且实际上将值持久化到非 ID 部分。问题是它没有为 id 生成任何东西。 mysql 在 id 列中有一个默认值“0”。我没有收到任何错误,它只是用“0”填充列。

【问题讨论】:

    标签: mysql eclipse jpa


    【解决方案1】:

    当您使用 IDENTITY 生成类型时,您告诉 JPA 数据库将生成 id。因此,您必须将列设置为使用 AUTO_INCREMENT。

    【讨论】:

    • 就是这样。我认为 JPA 会如何“处理”这个问题,因为我通过注释表明了我的意图。但 mySQL AUT_INCREMENT 工作正常。
    猜你喜欢
    • 1970-01-01
    • 2020-04-02
    • 2015-05-27
    • 2018-04-25
    • 2020-10-27
    • 2013-03-18
    • 2014-05-31
    • 2017-09-21
    • 2019-09-14
    相关资源
    最近更新 更多