我知道曾有人问过这个问题,但无法解决问题。 我想通过@Entitiy类生成一个表。
@Entity
public class Test implements Serializable{
@Id
@GeneratedValue long id;
.
.
.
}
在我的应用属性中,我得到了:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.database=mysql
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.show_sql=true
我正在运行mysql 5.7。问题在于创建了表并将id标记为主键。但是Default为NULL,Extra(我期望自动递增)为空。
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id | bigint(20) | NO | PRI | NULL | |
+----------+--------------+------+-----+---------+-------+
我有什么想念的东西吗?
答案 0 :(得分:1)
您的意思是您想对id字段使用自动递增?如果是,则必须将@GeneratedValue
的策略指定为IDENTITY
:
@Entity
public class Test implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
}