Spring Data Jpa 实体类自动创建数据库表失败解决

先说一下我遇到的这个问题,首先我是通过maven创建了一个spring boot的工程,引入了Spring data jpa,结果实体类创建好之后,运行工程却没有在数据库中自动创建数据表。

找了半天发现是一个配置的问题:

hibernate.ddl-auto节点的配置,这个配置有两种方式去配置,我使用的是通过properties文件去配置:

 
  1. #DataSource Config

  2. spring.datasource.driver-class-name=com.mysql.jdbc.Driver

  3. spring.datasource.url=jdbc:mysql://localhost:6033/data_service?characterEncoding=utf8

  4. spring.datasource.username=root

  5. spring.datasource.password=root

  6.  
  7. spring.jpa.show-sql= true

  8. spring.jpa.hibernate.ddl-auto=update

  9. spring.jpa.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

  10. spring.jackson.serialization.indent_output=false

hibernate.hbm2ddl.auto节点的值有几个create、create-drop、update、validate、none

create:每次加载hibernate会自动创建表,以后启动会覆盖之前的表,所以这个值基本不用,严重会导致的数据的丢失。

create-drop : 每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除,下一次启动会重新创建。

update:加载hibernate时根据实体类model创建数据库表,这是表名的依据是@Entity注解的值或者@Table注解的值,sessionFactory关闭表不会删除,且下一次启动会根据实体model更新结构或者有新的实体类会创建新的表。

validate:启动时验证表的结构,不会创建表

none:启动时不做任何操作

版权声明:本文为博主康小小原创文章,转载请声明转载出处:http://blog.csdn.net/u010429286 https://blog.csdn.net/u010429286/article/details/52777046

猜你喜欢

转载自blog.csdn.net/qq_36734094/article/details/81085713