SpringDataJPA在配置多数据源时,数据库自动创建hibernate_sequence表

时间:2019年12月10日10:59:23

来源:https://blog.csdn.net/shuaigg001/article/details/93880753

最近在配置SpringDataJPA的多数据源,遇到了很多的问题,很多都是springboot1.x下的配置,已经对当前2.x版本失效了。在配置完成以后,mysql数据库中总是会出现hibernate_sequence这张表。这张表是用来下一个的主键的值的,按照流行的做法,把id的自增方式改为如下:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

主要是第二个注解,使用mysql的主键自增方案,但是就算是这么设置了,数据库中还是会出现hibernate_sequence表,就很奇怪。但是在我其他的单数据源的项目下就没有这张多余的表。经过查询,原来是hibernate的设置变了。

根据参考,在yml配置中添加一段设置即可:

server:
  port: 8080
#多数据库的配置

spring:
    #主数据库
  primary:
    datesource:
      url: jdbc:mysql://localhost:3306/primarydatebase?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
      username: root
      password : 123456
  #从数据库
  secondary: 
    datesource: 
      url: jdbc:mysql://localhost:3306/secondarydatebase?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
      username: root
      password : 123456
  jpa:
    hibernate:
      ddl-auto: update
      use-new-id-generator-mappings: false   # 1
    show-sql: true
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: UTC
      

21行添加注释为1(# 1)的一行代码即可。

你可能感兴趣的:(记录)