史亚健 2015-02-04 06:40 采纳率: 0%
浏览 570

关于hibernate的配置文件的数据关联问题。

比如存在以下一个类,Emp.java

public class Emp{
        private String name;
        private int id;
        private String job;
        private Emp mgr;
}

然后数据库方面不编写主外键,现在要生成Emp.hbm.xml文件,
其中mgr的字段应该怎么编写。

 是用<property>呢?还是要用<one-to-one>?还是<many-to-one>?

求大神指点,最好能帮忙写下,谢谢

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 08:57
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Hibernate的映射文件(例如:Emp.hbm.xml)中,如果你想要定义一个与另一个实体之间的关系,并且这个关系不是一对一、一对多或多对一的关系,你可以使用<many-to-one>元素。

    例如,如果你想定义一个“员工”和一个“经理”的关系,你可以在Emp.hbm.xml中这样写:

    <mapping namespace="Employee" table="employee">
        <id column="emp_id" property="id"/>
        <one-to-one name="mgr" inverseName="emp" column="manager_id" entity="Manager"/>
    </mapping>
    

    在这个例子中,“mgr”属性用于表示“员工”对象中的一个字段,它是一个与“Manager”实体的一对多关系。当你在查询时,Hibernate会根据这些信息来决定如何处理这个关系。

    注意:在实际应用中,你应该确保你的实体类和数据库表的结构匹配。如果数据库没有主键,你需要创建一个自增的主键字段,并将它的值设置为0。然后,在实体类中添加一个名为getId()的方法,该方法返回自增的主键值。

    评论

报告相同问题?