mysql - JPA @GenerateValue 不在 MySQL 中生成值

标签 mysql eclipse jpa

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

@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”填充了该列。

最佳答案

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

关于mysql - JPA @GenerateValue 不在 MySQL 中生成值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13756171/

相关文章:

mysql - 未找到具有不变名称 'MySql.Data.MySqlClient' 的 ADO.NET 提供程序的 Entity Framework 提供程序。在生成 View 时

java - 使用嵌入对象覆盖外键列名称

javascript - 使用 php 和 mysql 定期检测数据库中的变化

mysql - 存储 facebook token 的字段类型是什么?

python - PyDev 和 Django : Autocomplete not detecting Django?

java - Eclipse + Jython : Python module not found using one-to-one object factory

运行 jar 且其依赖项位于同一目录时出现 java.lang.ClassNotFoundException

java - 如何在 Java 中表示 Oracle Interval

mysql - 从现有对象创建新对象

mysql - MySQL 中是否可以进行多字符到单字符的排序规则?