我如何使用休眠在mysql集群中创建表

时间:2018-08-31 06:58:18

标签: java mysql spring hibernate spring-boot

我正在使用带有弹簧启动的休眠模式,并且在给定数据库中创建表,但在另一个数据库中不创建表,例如10.10.1.350是管理节点,而10.10.1.348和10.10.1.349是子db。当我们直接在348中使用查询创建表时,然后在349中自动创建表。但是,我们使用的是休眠然后在348中创建的表,但没有在349中自动创建。

属性如:-

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://10.10.1.348:3306/test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=abc@1234
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect 

Pojo课堂-

@Entity
@Table(name = "test")
@Getter
@Setter
public class Test {

    @Id
    @Column(name = "tst_id")
    private Long tstId;
    @Column(name = "tst_nm")
    private String tstNm;


}

pom.xml用于mysql依赖-

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>

        </dependency>

1 个答案:

答案 0 :(得分:0)

Hibernate docs says

  

尽管Hibernate为update配置属性提供了hibernate.hbm2ddl.auto选项,但此功能不适用于生产环境。

只需使用Flyway或Liquibase进行数据库迁移。 Spring boot integrates with both of them