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

不同列名上的一对一映射

许马鲁
2023-03-14

person.hbm.xml:

<hibernate-mapping>
  <class name="Persons" table="Persons">
    <id name="id" column="id" type="java.lang.Integer">
      <generator class="native"></generator>
    </id>
    <property name="firstName" column="FIRST_NAME" type="java.lang.String">
    </property>
    <one-to-many name="employee" column="per_id" unique="true" class="Persons"
      not-null="true"/>
  </class>
</hibernate-mapping>

employee.hbm.xml

<hibernate-mapping>
  <class name="Employee" table="Employee">
    <id name="id" column="id" type="java.lang.Integer">
      <generator class="native"></generator>
    </id>
    <property name="name_id" column="NAME_ID" type="java.lang.String">
    </property>
    <property name="emp_id" column="emp_ID" type="java.lang.String">
    </property>
  </class>
</hibernate-mapping>

如何从Employee表的EmployeeID中提取Employe表的Emp_ID映射?

注意:Persons表的ID是主键

共有1个答案

钱经业
2023-03-14

在employee.hbm.xml中:

<many-to-one name="person" class="Persons" column="emp_ID" />

要使关系具有双向性,可以在person.hbm.xml中添加以下内容:

<one-to-one name="employee" class="Employee" property-ref="person"/>

如果您可以修改employee表中的emp_ID列(foriegn key列),将persons表的“id”列引用到person_id中,这将使其他人更容易理解,也不会混淆

 类似资料:
  • 我有两个不同的表,Person表和Employee表。我需要这两者之间的一一对应。Employee表的emp_id引用Person表的PERSON_ID。我需要一些帮助来编写使用注释的映射 persons.java

  • 我已经尝试了表2的hibernate映射: 上面不起作用。在获取记录时,它试图从表2中获取表1中根本不存在的LOB代码

  • 问题内容: 我是Oracle的新手。我有一个Oracle表有三列:,和。在第三列中的行具有值,或 。 我想使用count运行查询,以显示可维修的数量,正在维修的数量,针对每个项目类别的谴责数量。 我想运行类似的东西: 我无法在计数内运行内部查询。 这是我希望结果集看起来像的样子: 问题答案: 您可以在COUNT函数中使用CASE或DECODE语句。 输出:

  • } 我有两个相同的对象,但是它们有不同的hashCode。为什么呢?我尝试覆盖Rational中的. equ方法r1.equals(r2)==true。但是它们仍然产生不同JavahashCode。

  • 我正在微服务中做一些更改,它有一个像以下这样的对象: } 我将从Json中获取我将要使用的信息。Json有一个名为的键,我想在两个不同的变量中使用这个速率,一个int-rate和一个Float-ratePPR。这里的问题是,我知道在同一个对象中不能有来自同一个Json的两个变量,但我有义务这样做,因为我不能触摸变量,所以我创建了变量,以便在需要时使用。 当我进行测试时,会出现以下错误: 属性“ra

  • 有两张数据表,其中A表的某个字段的值指向B表的主键。因为A表的任何一条记录只能对应B表的一条且唯一一条记录,所以称这种 映射为A表对B表数据的一对一映射。(当然,反过来,你也可是说,是B表对A表的一对多映射)。 上述结构,如果用 POJO 来表示的话,可以参看下图: 如上图, Pet 中就可以有一个字段 master,通过自身的 masterId 指向一个 Master 对象,那么我们说 Pet.