关闭

Hibernate 多对一配置

标签: hibernatemany-to-one多对一
108人阅读 评论(0) 收藏 举报
分类:

public class Posts{ //文章

private int id;

private String name;

private String userid;

private User author;

set/get;

}

public class User{ //用户(作者)

private int id;

private String name;

}


<Post.hbm.xml>

<many-to-one name="author" class="User"lazy="false" insert="false" update="false" >

      <column name="user_id"></column>

</many-to-one>


讲解:

对应的两张表中必须有相应的外键关系,

author:既是指Posts类中的属性,用来存储关联的User对象

User:指User类

user_id:指的是User类对应的表中的外键(不是指类中的属性名,是表中的字段名),这里非常重要,我在这里迷惑了好久

在User类中有userid对应表中的user_id,但是写的是user_id,因为前面也写了,column指的就是字段


lazy:这个属性是指当加载父关联时是否要同时加载子关联,如果取 true 就是查询 Post (文章)时会同时把对应的 User (作者)加载进内存

如果取 false 那就是不会同时加载进内存,当使用到User对象时再加载,但是要保证 session 没有关闭


insert="false" update="false"  这两个还不知道,我在ssh框架中会提示一定要加上,看属性名应该也好理解,但是为什么一定要加我还不知道为什么




1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:913次
    • 积分:108
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档