在spring boot中验证hibernate实体数据库映射

时间:2015-10-25 16:44:12

标签: hibernate spring-boot

我有一个实体:

@Entity
@Table(name = "tbl_user")
public class UserEntity {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "user_id")
  private Long userId;

我手动滚动到真实数据库或使用spring.datasource.initialize = true滚动到内存中的h2测试的数据库定义文件(看一下列名):

CREATE TABLE tbl_user (
  uer_id BIGINT PRIMARY KEY AUTO_INCREMENT,

与db:

相关的application.properties定义
spring.datasource.initialize=false
spring.jpa.hibernate.ddl-auto=validate
hibernate.hbm2ddl.auto=validate
spring.jpa.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.datasource.schema=classpath:sql/app-db-definition.sql

在启动spring上下文时(在测试中),我想验证实体列映射是否与db列匹配。我该如何配置它?

1 个答案:

答案 0 :(得分:1)

我在依赖项和配置错误中有一个重写版本的hibernate来使用它,因此它会跳过属性:( M.Denium在评论中也是对的,我忘记了spring.jpa.properties.*前缀。