为了账号安全,请及时绑定邮箱和手机立即绑定

Hibernate初探之一对多映射

  • 使用MyEclipse反向工程生成映射关系 1.在MyEclipse中添加数据库连接 2.添加Hibernate支持,生成配置文件 3.反向生成映射:在DB Browser里选中表->Hibernate Reverse Engineering:填写Java src folder, Java package;勾选Create POJO;勾选Create Data Object,记得去掉Create abstract class;->指定Id Generator->选中表,勾选Include referenced talbes(A->B)和Include referenced talbes(A<-B)
    查看全部
  • 实现为项目添加Hibernate支持 右击项目-->MyEclipse-->Add Hibernaet Capabilities-->选择hibernate版本(越高越好)-->...-->选择数据库连接-->.. 它能生成XXX.cfg.xml 文件还能生成HibernateSessionFactory工具类简化我们的操作
    查看全部
  • 注册
    查看全部
  • 单项一对多
    查看全部
  • 主键最大值加一
    查看全部
  • 映射类型
    查看全部
  • 初始会话工厂
    查看全部
  • cascade(级联)属性
    查看全部
  • inverse属性 1.<set>节点的inverse属性指定关联关系的控制方向,默认有one方来维护; 2.关联关系中,inverse="false"则为主动方,由主动方负责维护关联关系; 3.在一对多关联中,只能设置one方的inverse为true,这将有助于性能的改善。
    查看全部
  • //删除学生信息 public static void delete(){ //获取对话 Session session=HibernateUtil.getSession(); // 开启事务 Transaction tx=session.beginTransaction(); //获取学生信息2 Student stu=(Student) session.get(Student.class, 2); //删除学生 如果修改,先创建班级信息g,在将获得的学生信息添加最后 保存session.save(g); session.delete(stu); //提交事务 tx.commit(); //关闭事物 HibernateUtil.closeSession(session); } //修改学生信息 public static void update(){ Grade g=new Grade("Java二班","Java软件开发二班"); Session session=HibernateUtil.getSession(); Transaction tx=session.beginTransaction(); Student stu=(Student) session.get(Student.class, 1); g.getStudents().add(stu); session.save(g); tx.commit(); HibernateUtil.closeSession(session); }
    查看全部
  • 创建持久化类和映射文件并配置单向一对多关系 a.持久化类 1.创建学生持久化类 2.创建班级持久化类(在一方定义一个多方集合) b.配置映射文件 //班级映射文件 <class name="com.entity.Grade" table="grade"> <id name="gid" column="gid" type="java.lang.Integer"> <generator class="increment"></generator> </id> <property name="gname" type="java.lang.String"> <column name="gname" not-null="true" length="20"></column> </property> <property name="gdesc" type="java.lang.String"> <column name="gdesc"></column> </property> <!-- 配置单向一对多关系 --> <set name="一方实体类定义的多方的引用,即集合属性students" table="多方的表名Students"> <key column="关联外键的列gid"></key> <one-to-many class="多方实体类的全类名com.entity.Student"></one> </set> </class> //学生映射文件(同上略) //hibernate.cfg.xml中配置 <!-- 指定映射文件 --> <mapping resource="com/entity/Grade.hbm.xml"></mapping> <mapping resource="com/entity/Student.hbm.xml"></mapping>
    查看全部
  • 用于会话的获取和关闭: public class HibernateUtil { private static SessionFactory sessionFactory; private static Session session; static{ //创建configuration对象,读取hibernate.cfg.xml文件,完成初始化 Configuration config=new Configuration().configure(); StandardServiceRegistryBuilder ssrb=new StandardServiceRegistryBuilder().applySettings(config.getProperties()); StandardServiceRegistry ssr=ssrb.build(); sessionFactory=config.buildSessionFactory(ssr); } //获取SessionFactory对象 public static SessionFactory getsessionFactory(){ return sessionFactory; } //获取Session对象 public static Session getSession(){ return sessionFactory.openSession(); } //关闭Session对象 public static void closeSession(Session session){ if(session!=null){ session.close(); } } }
    查看全部
  • 一对多的关系表示: 1.在数据库中,可以通过添加主外键的关联,表现一对多的关系 2.在Hibernate中,通过在一方持有多方的集合实现,即在“一”的一端中使用<set>元素表示持有“多”的一端的对象
    查看全部
  • MyEclipse 给工程添加hibernate支持 菜单Windws-->Show-->View-->Other,展开MyEclipse Datebase 选择DB Browser(数据库视图) 左侧空白右击,New-->DatebaseDriver 选择相应数据库 给连接命名,指定DB URl-->user /password--> Driver JARs :点击Add JARS 选择JAR包 可点击Test Driver 可勾选save password
    查看全部
  • 实现单向一对多: 1)在one方的实体中添加保存many方的集合 2)在one方的配置文件中添加<one-to-many>配置 实现单向多对一: 1)在many方的实体中添加one方的引用 2)在many方的配置文件中添加<many-to-one>配置 常用属性: cascade:设置级联关系 【all:对所有操作进行级联操作 save-update:执行保存和更新操作时进行级联操作 delete:执行删除操作时进行级联操作 none:对所有操作不进行级联操作】 inverse:设置由哪一方维护关联关系 【inverse="false"则为主动方,由主动方负责维护关联关系。】
    查看全部
    0 采集 收起 来源:课程总结

    2018-03-22

举报

0/150
提交
取消
课程须知
本课程主要讲解Java中Hibernate中的关联映射,需要对Hibernate基本用法、ORM的基本概念、单表映射等相关知识有一定的基础。
老师告诉你能学到什么?
1、Hibernate关联映射的类型 2、单向一对多关联的配置 3、单向多对一关联的配置 4、cascade和inverse属性的作用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!