我使用的是hibernate with spring boot,表是在给定的数据库中创建的,而不是在另一个数据库中创建的,比如10.10.1.350是management node,10.10.1.348和10.10.1.349是child db。当我们在348中直接使用查询创建表时,然后在349中自动创建表。但是我们使用的是348中创建的hibernate-then表,而不是349中的auto-create。
属性like:-
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;
}
mysql依赖的pom.xml-
<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条答案
按热度按时间r8xiu3jd1#
hibernate docs说:
尽管hibernate提供了
update
的选项hibernate.hbm2ddl.auto
配置属性,此功能不适用于生产环境。只需使用flyway或liquibase进行数据库迁移。Spring Boot集成了两者。