Hibernate
Hibernate多對(duì)多關(guān)聯(lián)映射的HQL中的in條件查詢問(wèn)題
摘要: Hibernate的HQL語(yǔ)句中的“in條件”句如:x in(‘a(chǎn)’,’b’,’c’),要求的是x是(‘a(chǎn)’,’b’,’c’)中的一個(gè)元素,而select role.users這樣查出來(lái)的是集合的集合,它內(nèi)部的元素應(yīng)該是一個(gè)集合:set
in (select role.users…),而不是一個(gè)對(duì)象: user in (select role.users…)。
可惜的是HQL語(yǔ)句沒(méi)有set in (select role.users….)這樣的子句,后來(lái),查了一下Hibernate的參考文檔,得到解決方法。原來(lái),Hibernate的HQL語(yǔ)句中的“in條件”中,可加入”elements”關(guān)鍵詞,即上面的查詢語(yǔ)句變成:
閱讀全文
posted @
2009-06-21 20:11 心夢(mèng)帆影 閱讀(12090) |
評(píng)論 (4) 編輯
Hibernate(JPA)多對(duì)多(ManyToMany)關(guān)聯(lián)映射不完美之處
摘要: Hibernate和JPA控制關(guān)聯(lián)關(guān)系的,只能是一方,不能雙方控制的,
個(gè)人認(rèn)為,Hibernate(JPA)在設(shè)置多對(duì)多關(guān)聯(lián)映射時(shí),應(yīng)該有做法能使得雙方都能控制關(guān)聯(lián)關(guān)系才好,才符合實(shí)際吧!但事實(shí)上,好像還沒(méi)有發(fā)現(xiàn)有Hibernate(JPA)這種能力!
閱讀全文
posted @
2009-06-08 13:33 心夢(mèng)帆影 閱讀(26943) |
評(píng)論 (15) 編輯
奮斗兩天,終于開(kāi)發(fā)了自己的DAO層公共類(lèi)(Spring+Hibernate實(shí)現(xiàn))
摘要: 此EntityDao接口與EntityDaoImpl實(shí)現(xiàn)類(lèi),可取代了我們平時(shí)寫(xiě)的UserDao,NewsDao,CompanyDao等等,可直接供Service層調(diào)用.
public Pager
findForPager(final Class entityClass,final String propertyName,final boolean isAsc,final int firstResult,final int maxResults,final Criterion ...criterions){
int totalCounts = findCountsByCriteria(entityClass, criterions);
List entityList = findByCriteria(entityClass, propertyName, isAsc, firstResult, maxResults, criterions);
Pager pager = new Pager();
閱讀全文
posted @
2009-05-19 09:56 心夢(mèng)帆影 閱讀(10458) |
評(píng)論 (20) 編輯
基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開(kāi)發(fā) (3)
摘要: 進(jìn)入我們基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開(kāi)發(fā)的最后一個(gè)階段了,這階段主要為我們的項(xiàng)目引進(jìn)Struts2的Annotation。相對(duì)于帶Annotation的Hibernate與帶Annotation的Spring整合來(lái)說(shuō),帶Annotation的Struts與帶Annotation的Spring整合還是比較容易實(shí)現(xiàn)的。
………………
成功啦!我們基于Annotation的SSH整合開(kāi)發(fā)終于完成了。我所介紹的Annotation注解其實(shí)并不多,還得靠大家找資料去學(xué)習(xí)。而我們側(cè)重點(diǎn)是在用Annotation時(shí)三大框架是如何整合起來(lái)的。
說(shuō)點(diǎn)題外話吧,我們?cè)陂_(kāi)發(fā)過(guò)程中,究竟用Annotation還是XML……
閱讀全文
posted @
2009-03-27 00:09 心夢(mèng)帆影 閱讀(9400) |
評(píng)論 (37) 編輯
基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開(kāi)發(fā) (2)
摘要: 基于Annotation的SSH整合開(kāi)發(fā),其實(shí),并沒(méi)有我當(dāng)初想像中那么順利。真正去做的時(shí)候,才發(fā)覺(jué)有許多問(wèn)題。但不要緊,探索一下吧。在探索過(guò)程中學(xué)到知識(shí),才是最重要的。
…… ……
其實(shí),到現(xiàn)在為止,我們發(fā)覺(jué)我們的XML配置文件還是很多。其實(shí),這樣想想,上一階段我們省去了xxx.hbm.xml這類(lèi)的文件,這一階段,我們少去了
這樣的配置項(xiàng)。而這些,正是我們項(xiàng)目開(kāi)發(fā)中,大量使用的配置。而只要書(shū)寫(xiě)簡(jiǎn)單的Annotation注解,就可以省去這樣,我們何樂(lè)而不用。而那些我們保留的XML配置文件(如:數(shù)據(jù)庫(kù)連接,事務(wù)),這樣是寫(xiě)死的,一個(gè)項(xiàng)目就寫(xiě)一次或復(fù)制過(guò)來(lái)用,我們保留它又何妨? 閱讀全文
posted @
2009-03-25 01:05 心夢(mèng)帆影 閱讀(13164) |
評(píng)論 (24) 編輯
基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開(kāi)發(fā) (1)
摘要: 寫(xiě)這個(gè)主題的文章在網(wǎng)絡(luò)上應(yīng)該暫時(shí)沒(méi)有吧,也看過(guò)許多SSH整合開(kāi)發(fā)的書(shū),許多都是舊版本的框架整合,而且大部分都是以XML配置文件的方式,即使談到Annotation也是針對(duì)其中一個(gè)框架而言的。隨著開(kāi)源框架更新版本中不斷引進(jìn)對(duì)Annotation的支持,使得我們可以用單方面去管理我們的類(lèi)與關(guān)系,而不用像以往那樣,一旦遇到問(wèn)題,就要不斷在Java視圖和XML視圖中切換。好,開(kāi)始吧,既然網(wǎng)絡(luò)中暫時(shí)沒(méi)有這方面的文章,我就來(lái)開(kāi)創(chuàng)個(gè)先例。自己探索學(xué)習(xí)一下,也讓大家來(lái)學(xué)習(xí)和提出批評(píng)和建議。
閱讀全文
posted @
2009-03-23 21:05 心夢(mèng)帆影 閱讀(15660) |
評(píng)論 (38) 編輯
Hibernate+Spring+Struts2整合開(kāi)發(fā)中的一個(gè)分頁(yè)顯示方案
摘要: 分頁(yè)顯示一直是web開(kāi)發(fā)中一大煩瑣的難題,傳統(tǒng)的網(wǎng)頁(yè)設(shè)計(jì)只在一個(gè)JSP或者ASP頁(yè)面中書(shū)寫(xiě)所有關(guān)于數(shù)據(jù)庫(kù)操作的代碼,那樣做分頁(yè)可能簡(jiǎn)單一點(diǎn),但當(dāng)把網(wǎng)站分層開(kāi)發(fā)后,分頁(yè)就比較困難了,下面是我做Spring+Hibernate+Struts2項(xiàng)目時(shí)設(shè)計(jì)的分頁(yè)代碼,與大家分享交流。
閱讀全文
posted @
2008-11-29 20:54 心夢(mèng)帆影 閱讀(27057) |
評(píng)論 (114) 編輯
Struts 2.0 整合 Hibernate 3.2 開(kāi)發(fā)注冊(cè)登錄系統(tǒng)
摘要: 開(kāi)發(fā)工具:MyEclipse 6.0 ,Tomcat 5.5 ,JDK 1.5 ,MySQL 5.0 ;開(kāi)發(fā)準(zhǔn)備:下載Struts 2.0和Hibernate 3.2,大家可Struts和Hibernate的官方網(wǎng)站下載這兩個(gè)框架。我們先來(lái)總覽一下開(kāi)發(fā)完成后的包—類(lèi)圖:
閱讀全文
posted @
2008-11-11 01:44 心夢(mèng)帆影 閱讀(8608) |
評(píng)論 (58) 編輯