-
//删除学生信息 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); }查看全部
-
hibernate4.3的初始化 用于会话的获取和关闭: 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(); } } }查看全部
-
根据Myeclipse中的数据库的视图,选择对应的表,然后指定项目的位置,根据表信息生成对应的实体类。在Java视图中可以看到完整的实体类的信息以及hibernate.cfg.xml中的信息所指定的映射文件的位置。查看全部
-
cascade属性设为all时,所有操作都级联; 设为save-update时,在保存和更新时级联; 设为delete时,在删除时级联; 设为none时,所有操作都不级联。查看全部
-
hibernate cfg 数据库配置查看全部
-
请输入笔记内容...查看全部
-
级联属性cascade查看全部
-
cascade属性查看全部
-
一对多的配置查看全部
-
set元素的常用属性查看全部
-
set元素的常用属性查看全部
-
配置hibernate文件的关联映射查看全部
-
如何配置hibernate查看全部
-
nverse和cascade属性 一、inverse属性 1、一方的hbm.xml文件的<set>节点的inverse属性指定了关联关系的控制方向,默认由one方来维护; 2、关联关系中,inverse="false"则为主动方,由主动方负责维护关联关系; 3、在一对多关联中,设置one方的inverse为true,这将有助于性能的改善。 二、级联(cascade)属性 配置映射文件: //grade映射文件 <!-- 配置单向一对多关系;设置inverse为true,有多方进行关联关系的维护; 当保存和更新时自动进行级联操作--> <set name="stu" table="stu" inverse="true" cascade="save-update"> <!-- 指定关联的外键列 --> <key column="gid"></key> <one-to-many class="com.entity.Student"/> </set> //student映射文件 <many-to-one name="grade" class="com.entity.Grade" column="gid" cascade="all"></many-to-one> 三、测试---信息查询 public static void findGradeByStudent(){ Session session=HibernateUtil.getSession(); Student s1=(Student)session.get(Student.class, 2); System.out.println(s1.getSid()+","+s1.getSname()+","+s1.getSex()); Grade g=s1.getGrade(); System.out.println(g.getGid()+","+g.getGname()+","+g.getGdesc()); HibernateUtil.closeSession(session); }查看全部
-
cascade属性: 1、当设置了cascade属性不为none时,Hibernate会自动持久化所关联的对象; 2、cascade属性的设置会带来性能上的变动,需要谨慎设置; ———————————————————————————— 属性值 含义和作用 all 对所有操作进行级联操作 save-update 执行保存和更新操作时进行级联操作 delete 执行删除时进行级联操作 none 对所有操作不进行级联操作 ———————————————— 说明:举个栗子,见截图: 在向Grade添加Student后,保存Grade对象时,能不能不需要显示的保存Student对象,答案是可以的,可以使用级联操作:在Grade的映射文件中的<set>节点添加cascade属性不为none,为"save-update". [ 收起全文 ] 04:08看截查看全部
举报
0/150
提交
取消