JDBCSQL异常:未找到列[JPA中@Column注释不是工作字段]

时间:2017-12-15 20:26:37

标签: java spring hibernate maven jpa

我正在使用JPA应用程序.JPA注释应用于Getter方法及其工作,但是当我尝试在字段上应用注释时,编译器会生成错误。 我想在字段上应用注释。

@Entity
@Table(name="TB_DEMO",query="select q from TB_DEMO q")
public class Demo extends DomainRoot{

    @Column(name="VAR_COUNT")
        private int varCount;

        public int getCount(){
        return this.varCount;
        }
        public void setCount(int count){
        this.varCount=count;
        }
}
  

错误:org.springframeowork.dao.InvalidDataResourceUsageException:   无法准备声明

     

org.h2.jdbc.JdbcSQLException:未找到“QSXXXXXXXX_.VARCOUNT”列

1 个答案:

答案 0 :(得分:1)

持久性提供程序不考虑您的字段属性为什么DomainRoot或应用程序默认访问使用Property的映射(获取的注释)并且您尝试使用Field的映射(字段上的注释)。

规范说在这种情况下(Inhritance),这种竞争是不可预测的。

对于您的示例,在类级别增加@Access(AccessType.FIELD)或仅在整个类层次结构上使用相同的访问级别,而不声明@Access注释。