Caused by: java.sql.SQLSyntaxErrorException: Table 'sell.hibernate_sequence' doesn't exi
Posted kongieg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Caused by: java.sql.SQLSyntaxErrorException: Table 'sell.hibernate_sequence' doesn't exi相关的知识,希望对你有一定的参考价值。
数据表:
create table ‘product_category‘( ‘category_id‘ int not null auto_increment, ‘category_name‘ varchar(64) not null comment ‘类目名字‘, ......
domain:
@Entity public class ProductCategory @Id @GeneratedValue private Integer categoryId; private String categoryName; private Integer categoryType; setter... getter...
Repository:
public interface ProductCategoryRepository extends JpaRepository<ProductCategory,Integer>
测试代码:
@Test public void saveTest() ProductCategory productCategory = new ProductCategory(); productCategory.setCategoryName("测试b"); productCategory.setCategoryType(3); repository.save(productCategory);
报错:Caused by: java.sql.SQLSyntaxErrorException: Table ‘sell.hibernate_sequence‘ doesn‘t exist
解决:在domain实体类指明主键生成策略,保持数据库一致
@Entity public class ProductCategory @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer categoryId; private String categoryName; private Integer categoryType;
JPA四种生成策略了解下。
疑点:原文使用@GeneratedValue注解,即@GeneratedValue(strategy = GenerationType.AUTO),不是应该根据数据库支持的主键生成策略自动选择合适的吗,数据库中使用了auto_increment,为什么这边没有支持而报错?
以上是关于Caused by: java.sql.SQLSyntaxErrorException: Table 'sell.hibernate_sequence' doesn't exi的主要内容,如果未能解决你的问题,请参考以下文章
Mathematical Problems Caused by CCD
Caused by: java.lang.NoClassDefFoundError:
异常Caused by: java.lang.ClassNotFoundException: org.springframework.dao.DataIntegrityViolationExcep