永发信息网

hibernate怎么删除关联表

答案:2  悬赏:70  手机版
解决时间 2021-02-04 21:21
  • 提问者网友:遁入空寂
  • 2021-02-04 14:25
hibernate怎么删除关联表
最佳答案
  • 五星知识达人网友:神的生死簿
  • 2021-02-04 15:51
一个比较简单的方法,在数据库的主外键关系里面设置,

  这样在主表中删除该条信息时,所有从表中应用到该条信息的数据就会删除了。
全部回答
  • 1楼网友:愁杀梦里人
  • 2021-02-04 17:14
一、 hibernate简介hibernate是一个jdo工具。它的工作原理是通过文件(一般有两种:xml文件和properties文件)把值对象和数据库表之间建立起一个映射关系。这样,我们只需要通过操作这些值对象和hibernate提供的一些基本类,就可以达到使用数据库的目的。例如,使用hibernate的查询,可以直接返回包含某个值对象的列表(list),而不必向传统的jdbc访问方式一样把结果集的数据逐个装载到一个值对象中,为编码工作节约了大量的时间。hibernate提供的hql是一种类sql语言,它和ejbql一样都是提供对象化的数据库查询方式,但hql在功能和使用方式上都非常接近于标准的sql. 二、 hibernate与jdbc的区别hibernate与jdbc的主要区别如下: 1、 hibernate是jdbc的轻量级的对象封装,它是一个独立的对象持久层框架,和app server,和ejb没有什么必然的联系。hibernate可以用在任何jdbc可以使用的场合,从某种意义上来说,hibernate在任何场合下取代jdbc. 2、 hibernate是一个和jdbc密切关联的框架,所以hibernate的兼容性和jdbc驱动,和数据库都有一定的关系,但是和使用它的java程序,和app server没有任何关系,也不存在兼容性问题。 3、 hibernate是做为jdbc的替代者出现的,不能用来直接和entity bean做对比。 三、 hibernate 进行多表关联查询hibernate对多个表进行查询时,查询结果是多个表的笛卡尔积,或者称为“交叉”连接。 例如:from student, book from student as stu, book as boo from student stu, book boo注意:让查询中的student和book均是表student和book对应的类名,它的名字一定要和类的名字相同,包括字母的大小写。别名应该服从首字母小写的规则是一个好习惯,这和java对局部变量的命名规范是一致的。 下面列举一个完整的例子来说明hibernate对多个表进行关联查询(其中粗体是我们要特别注意的地方,相应表tbookinfo和bookselection的结构和其对应的hbm.xml、class文件就不一一列举了,有需要详细了解的朋友,请联系我): string stest = "from tbookinfo book, bookselection sel where book.id = sel.bookid"; collection result = new arraylist(); transaction tx = null; try { session session = hibernateutil.currentsession(); tx = session.begintransaction(); query query = session.createquery(sql); result = query.list(); tx.commit(); } catch (exception e) { throw e; } finally { hibernateutil.closesession(); } //result list为object[] 的集合{{object[] } ,{object[] } ,{object[] } } //object[] :{tbookinfo ,bookselection }与查询语句的顺序有关 arraylist slist = (arraylist) result; iterator iterator1 = slist.iterator(); while (iterator1.hasnext()) { object[] o = (object[]) iterator1.next(); ookinfo bookinfo = (tbookinfo) o[0]; bookselection bookselect = (bookselection) o[1]; system.out.println("bookinfo-title: " bookinfo.gettitle()); system.out.println("bookselection-bookselectionid: " bookselect.getid()); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯