hibernate中的映射文件

小弟刚刚接触hibernate,其中有多种关联关系,对关联关系在映射文件中的配置不是太熟悉。感觉hibernate中的映射文件就是在数据库表中建立各种主外键的关系。不知道这种理解对不对。呵呵请大哥大姐们给讲讲。能不能在推荐推荐什么资料看看就好了。
[b]问题补充:[/b]
hibernate映射文件中的,,的作用是不是就是反应数据库表中的主外键之间的关系???

hibernate是通过映射生成数据库表的,同时也会根据你的配置生成表之间的关系,其实现在的hibernate的xml对实体的配置已经简化的相当简单了,hibernate-config实体配置片段:
[code="xml"]






[/code]
在xml中只需要指定你的映射类,都可以根据jdk的新特性annotation来完成一系列的字段、关系的描述,LZ可以看下这方面相关的资料。
实体类片段:
[code="java"]
/**

  • 角色表
  • @author baosj
  • */
    @Entity
    @Table(name = "TB_ROLE")
    public class TbRole extends TbSuperEntity {

    private static final long serialVersionUID = -3811521630441663199L;

    public TbRole() {
    }

    public TbRole(Long id) {
    super.setId(id);
    }
    @Column(name = "ROLE_NAME_", length = 64, nullable = true, unique = true)
    private String roleName;// 角色名称

    @Column(name = "ROLETYPE_")
    private Integer roleType;// 系统默认的角色类型 const中定义

    @Column(name = "IS_WORK_USER_")
    private Boolean isWorkUser;// 是否为经办角色

    @Column(name = "IS_TOP_USER_")
    private Boolean isTOPUser;// 是否为经办角色

    @Column(name = "REMARK_", length = 100)
    private String remark;// 说明、备注

    @ManyToOne(targetEntity = TbUnitCodePc.class, fetch = FetchType.EAGER)
    @JoinColumn(name = "UNIT_CODE_PC_ID_")
    private TbUnitCodePc tbUnitCodePc;// 单位代码策略,用户增加的角色属于哪个单位级别(系统默认的角色为null,根据roleType判断)

    @OneToMany(mappedBy = "tbRole", fetch = FetchType.LAZY)
    private Set tbUserInfos = new HashSet(0);// 用户

    @ManyToMany(fetch = FetchType.LAZY)
    private Set tbModules = new HashSet(0);// 对应的模块

    @ManyToMany(fetch = FetchType.LAZY)
    private Set tbFunctions = new HashSet(0); // 对应的函数

    //get set ............

[/code]

是的,但是现在不用这么麻烦直接在实体类中就可以,hibernate.cfg.xml中只需要指定实体类的路径就可以了