|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。 因为公司项目标必要,我对Hibernate对多表联系关系查询研讨了一下,现总结以下,供伴侣参考。
1、Hibernate简介Hibernate是一个JDO工具。它的事情道理是经由过程文件(一样平常有两种:xml文件和properties文件)把值对象和数据库表之间创建起一个映照干系。如许,我们只必要经由过程操纵这些值对象和Hibernate供应的一些基础类,就能够到达利用数据库的目标。比方,利用Hibernate的查询,能够间接前往包括某个值对象的列表(List),而不用向传统的JDBC会见体例一样把了局集的数据逐一装载到一个值对象中,为编码事情勤俭了大批的工夫。Hibernate供应的HQL是一品种SQL言语,它和EJBQL一样都是供应对象化的数据库查询体例,但HQL在功效和利用体例上都十分靠近于尺度的SQL.
2、Hibernate与JDBC的区分Hibernate与JDBC的次要区分以下:
1、Hibernate是JDBC的轻量级的对象封装,它是一个自力的对象耐久层框架,和AppServer,和EJB没有甚么一定的接洽。Hibernate能够用在任何JDBC可使用的场所,从某种意义下去说,Hibernate在任何场所下代替JDBC.
2、Hibernate是一个和JDBC亲切联系关系的框架,以是Hibernate的兼容性和JDBC驱动,和数据库都有必定的干系,可是和利用它的Java程序,和AppServer没有任何干系,也不存在兼容性成绩。
3、Hibernate是做为JDBC的替换者呈现的,不克不及用来间接和EntityBean做对照。
3、Hibernate举行多表联系关系查询Hibernate对多个表举行查询时,查询了局是多个表的笛卡尔积,大概称为“交织”毗连。比方:fromStudent,BookfromStudentasstu,BookasboofromStudentstu,Bookboo注重:让查询中的Student和Book均是表student和book对应的类名,它的名字必定要和类的名字不异,包含字母的巨细写。别号应当从命首字母小写的划定规矩是一个好习气,这和Java对部分变量的定名标准是分歧的。
上面枚举一个完全的例子来讲明Hibernate对多个表举行联系关系查询(个中粗体是我们要出格注重的中央,响应表tBookInfo和BookSelection的布局和其对应的hbm.xml、class文件就纷歧一枚举了,有必要具体懂得的伴侣,请接洽我):
StringsTest="fromtBookInfobook,BookSelectionselwherebook.id=sel.bookId";
Collectionresult=newArrayList();
Transactiontx=null;
try{
Sessionsession=HibernateUtil.currentSession();
tx=session.beginTransaction();
Queryquery=session.createQuery(sql);
result=query.list();
tx.commit();
}catch(Exceptione){
throwe;
}finally{
HibernateUtil.closeSession();
}
ArrayListsList=(ArrayList)result;
Iteratoriterator1=sList.iterator();
while(iterator1.hasNext()){
Object[]o=(Object[])iterator1.next();
tBookInfobookInfo=(tBookInfo)o[0];
BookSelectionbookSelect=(BookSelection)o[1];
System.out.println("BookInfo-Title:"+bookInfo.getTitle());
System.out.println("BookSelection-BookSelectionId:"+bookSelect.getId());
}
windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的 |
|