首页 > 代码库 > Hibernate实体映射技巧总结
Hibernate实体映射技巧总结
初学者有没有感觉在写Hibernate实习映射的时候,被各种的many-to-one set one-to-many搞乱了头脑呢?
下面只需要三部,轻轻松松搞定。
1,写注释
格式为:(1?)属性,是本类与(2?)的(3?)关系。
<span style="font-size:14px;">例如: <!-- users属性,本类与User的一对多 --> <!-- parent属性,本类与Department的多对一 --> <!-- roles属性,本类与Role的多对多 --></span>
2,拷模板
<span style="font-size:14px;">一对多模板 <set name=""> <key column=""></key> <one-to-many class=""/> </set> 多对一模板 <many-to-one name="" class="" column=""></many-to-one> 多对多模板 <set name="" table=""> <key column=""></key> <many-to-many class="" column=""></many-to-many> </set></span>
3,填空
<span style="font-size:14px;">name属性:将(1?)填入 class属性:将(2?)填入 特殊的column: 当是:一对多 和 多对一 两对对应关系时 多的一方维护关联关系,也就是说多的一方有一的一方的外键。 将"多对一"的一方的name+Id填入到column中,在将column中的值填入到 "一对多"的column中 例如: <!-- users属性,本类与User的一对多 --> <set name="users"> <key column="departmentId"></key> <one-to-many class="User"/> </set> <!-- department属性,本类与Department的多对一 --> <many-to-one name="department" class="Department" column="departmentId"></many-to-one> 当是:多对多 和 多对多 的对应关系时 有一个中间表维护双方关系,也就是中间表中存放着双方表的外键。 所以table属性的值,双方要一致。 key中的column属性代表的是本方主键对应到中间表的外键名。 many-to-many的column属性代表对方主键对应到中间表的外键名。 例如: <!-- roles属性,本类与Role的多对多 --> <set name="roles" table="user_role"> <key column="userId"></key> <many-to-many class="Role" column="roleId"></many-to-many> </set> <!-- users属性,本类与User的多对多 --> <set name="users" table="user_role"> <key column="roleId"></key> <many-to-many class="User" column="userId"></many-to-many> </set></span>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。