我正在设置一个表/实体以在表的第一列中自动生成 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/