Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot JPA findBy尝试基于实体列名而不是液化列名获取数据_Spring Boot_Hibernate_Liquibase - Fatal编程技术网

Spring boot JPA findBy尝试基于实体列名而不是液化列名获取数据

Spring boot JPA findBy尝试基于实体列名而不是液化列名获取数据,spring-boot,hibernate,liquibase,Spring Boot,Hibernate,Liquibase,我已经在spring boot项目中配置了liquibase,以便轻松迁移DB。并且,这些表是基于liquibase changelog在数据库中创建的,这是正确的。但是,当有JPA调用或保存时,将使用实体列名而不是分解列名 你能告诉我我做错了什么吗?你需要使用@column on field映射你的列。请提供你的实体类@Rono,在实体和液化库中保持两个列名相同是必须的吗?Bcoz,只有当所有“@Column”名称和liquibase表列名都用小写字母表示时,它才起作用。@SSK,下面是我的E

我已经在spring boot项目中配置了liquibase,以便轻松迁移DB。并且,这些表是基于liquibase changelog在数据库中创建的,这是正确的。但是,当有JPA调用或保存时,将使用实体列名而不是分解列名


你能告诉我我做错了什么吗?

你需要使用@column on field映射你的列。请提供你的
实体类
@Rono,在实体和液化库中保持两个列名相同是必须的吗?Bcoz,只有当所有“@Column”名称和liquibase表列名都用小写字母表示时,它才起作用。@SSK,下面是我的EntityClass
@Entity@table(name=“email_limit”)公共类EmailLimit{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name=“Id”)private long id;@Column(name=“usrnm”)private String usrnm;@Column(name=“maxmaillmt”)private Integer maxmaillmt;@Column(name=“rmngemaillmt”)private Integer rmngemaillmt;
和我的liquibase表是,
    select
        emaillimit0_.id as id1_1_,
        emaillimit0_.maxEmailLmt as maxEmail2_1_,
        emaillimit0_.rmngEmailLmt as rmngEmai3_1_,
        emaillimit0_.usrNm as usrNm4_1_ 
    from
        email_limit emaillimit0_ 
    where
        emaillimit0_.usrNm=?

2020-08-28 12:49:09.958 ERROR 9100 --- [nio-8090-exec-6] o.h.e.j.s.SqlExceptionHelper             : ERROR: column emaillimit0_.maxemaillmt does not exist
  Hint: Perhaps you meant to reference the column "emaillimit0_.maxEmailLmt".
  Position: 35