当前位置: 首页 > 知识库问答 >
问题:

AnnotationException引用的属性不是(OneMany)ToOne

濮阳鸿祯
2023-03-14
AnnotationException Referenced property not a (One|Many)ToOne
on
com.student.information.service.Department.departmentId in mappedBy of com.student.information.service.DepartmentHead.department
@Entity
@Table(name="department", catalog="student")
public class Department {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer departmentId;

    @Column(name="dept_name")
    private String departmentName;

    @OneToMany(mappedBy="department",cascade = CascadeType.ALL)
    private List<Student> student; 

    @OneToOne(targetEntity=Department.class)
    private DepartmentHead departmenthead;
}       
@Entity
@Table(name="departmenthead", catalog = "student")
public class DepartmentHead {

    //This is mapped with the department id

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;

    @Column(name="headname")
    private String headName;

    @OneToOne(mappedBy = "departmentId",fetch = FetchType.LAZY,cascade=CascadeType.ALL)
    @JoinColumn(name="dept_id")
    private Department department;  
}

谁能告诉我我犯了什么错误吗。我从过去的两天一直在挣扎,无法找到解决问题的方法。事先谢谢你的帮助。

共有1个答案

饶元章
2023-03-14

您的映射设置不正确。Hibernate抱怨没有名为departmentD的字段可用于设置一对一或多个关系,这是正确的。

您希望像这样映射您的值。

Department.java

@Entity
@Table(name="department", catalog="student")
public class Department {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer departmentId;

    @OneToOne
    @JoinColumn(name = "id")
    private DepartmentHead departmenthead;
}       
@Entity
@Table(name="departmenthead", catalog = "student")
public class DepartmentHead {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;

    @OneToOne(mappedBy = "departmenthead")
    private Department department;  
}
 类似资料:
  • 问题内容: 我试图建立一对一的关系。但是我得到了错误: 两个实体几乎相同。部门可以不设部门主管而存在。 Java部门 DepartmentHead.java 由以下原因引起:org.hibernate.AnnotationException:引用的属性不是(One | Many)ToOne: 有人能指出我在犯什么错误的正确方向吗?我从过去的2天开始苦苦挣扎,无法解决问题的解决方案。在此先感谢您的帮

  • 问题内容: 定义抽象实例属性而不是属性的最佳实践是什么? 我想写一些像: 代替: 属性很方便,但是对于不需要计算的简单属性来说,这太过分了。这对于将由用户进行子类化和实现的抽象类尤为重要(我不想强迫某人只可以在中编写代码来使用它)。 Python问题中的抽象属性仅建议使用和的答案:它不能回答我的问题。 通过抽象类属性的ActiveState配方可能是正确的方法,但是我不确定。它也仅适用于类属性,不

  • 如上所述,我不希望在移动设备上的div上有属性。 到目前为止,我已经做到了这一点,它可以与chrome一起使用,但可能不适用于其他浏览器: 这样做的正确方法是什么?有没有办法不用js就能逃脱? 谢谢

  • 检索给定节点resp的所有属性名(而不是属性值!)的Xpath表达式看起来如何。xml标签? 假设以下XML文档: Xpath//title/@*会选择“eng,fr,easyreading”,但哪个Xpath会选择“lang,lang,type”?

  • 问题内容: 之间有什么区别 和 我都尝试过,但似乎都可以,但是我是在问,以防万一我需要小心(例如,%以外的单位等)。 问题答案: 这完全是关于HTML标记的真实有效性。这是W3C(WWW联盟)的工作目的。许多事情可能都在HTML中起作用,但是必须进行验证才能被网络浏览器更仔细地识别。您甚至可以在开头和结尾处省略and 标记,但是完全不建议这样做,没有人这样做,它被视为“错误代码”。 因此,将它们放

  • 我对Hibernate有一个问题:我有两个实体Libro和ediative,它们具有多对一的关系。当我尝试持久化时,会出现以下错误: Hibernate:选择编辑。ID_Editical,Editical_。NOMBRE as NOMBRE4_u,editorial_u。ID\u目录为ID3\u 4\u,editorial\u。NIF作为NIF4_来自Editory Editory_ where