java - JDBCSQL异常: Column not found [@Column annotation is not working field in JPA]

标签 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;
        }
}

Error: org.springframeowork.dao.InvalidDataResourceUsageException: Could not prepare statement

org.h2.jdbc.JdbcSQLException: Column "QSXXXXXXXX_.VARCOUNT" not found

最佳答案

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

规范表明,在这种情况下(继承),行为是不可预测的。

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

关于java - JDBCSQL异常: Column not found [@Column annotation is not working field in JPA],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47839416/

相关文章:

java - 如何在javamail中设置正确的电子邮件地址?

java - 创建名称为 'locationController' : Unsatisfied dependency expressed through field 'service' ; nested exception 的 bean 时出错

Java、Hibernate、MySQL - 存储 UTC 日期时间

java - org.hibernate.AnnotationException : @OneToOne or @ManyToOne on entities. Ques#tion.examId 引用了一个未知实体:long

java - 如何读取文件并保存到 hashmap 中,然后将第一个元素保存为键,其余元素保存在集合中?

java - 乘法口诀表中如何设置空格

java - 垃圾收集行为怪异

java - 使用 Hibernate Validation 自定义消息是否需要任何配置

java - 为什么我的 Spring 应用程序无法识别有人已经登录?

java - 构建 SessionFactory 时出现 NullPointerException