1

我正在设置一个表/实体以在表的第一列中自动生成 int 值,这很可能只是现在在 Eclipse 和 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”填充列。

4

1 回答 1

1

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

于 2012-12-07T17:20:35.323 回答