我正在使用带有弹簧启动的休眠模式,并且在给定数据库中创建表,但在另一个数据库中不创建表,例如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>
答案 0 :(得分:0)
尽管Hibernate为
update
配置属性提供了hibernate.hbm2ddl.auto
选项,但此功能不适用于生产环境。
只需使用Flyway或Liquibase进行数据库迁移。 Spring boot integrates with both of them。