Spring Hibernate mysql:字段“id”没有默认值

我知道这个问题之前曾被问过,但无法解决问题。我想通过@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 被标记为主键。但默认为 NULL,额外(我期望自动增量)为空。


+----------+--------------+------+-----+---------+-------+

| Field    | Type         | Null | Key | Default | Extra |

+----------+--------------+------+-----+---------+-------+

| id       | bigint(20)   | NO   | PRI | NULL    |       |

+----------+--------------+------+-----+---------+-------+

有什么东西是我遗漏的或者是 mittsonfigured 的吗?


慕斯王
浏览 143回答 1
1回答

杨魅力

您的意思是您想对 id 字段使用自动增量?如果是,您必须指定@GeneratedValue策略IDENTITY:@Entitypublic class Test implements Serializable {    @Id     @GeneratedValue(strategy=GenerationType.IDENTITY)    private long id;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java