作者cyclone350 (老子我最神)
看板java
標題[問題] Hibernate 設定動態 SQL 語法
時間Sat Dec 29 21:50:11 2012
大家好,先自我介紹一下,小弟我這幾個禮拜再衝刺 JAVA EE,
甚麼意思呢? 就是從 jsp/servlet 一直衝到 SSH,然後 spring 其他延伸的也看一點
然後 CSS,Jquery,log4j,Junit,stored procedure等等....
所以我算是有一點點的廣度,但是沒有深度...
有很多東西都沒有很詳細的知道基本原理就衝實作了,算是是邊做邊學
在這邊請教一個 hibernate 的問題
假設我有一個 Entity,有一個 Dao 層,這個Entity的類別姑且叫做 User
我在 Dao 有一個查詢的 function 大概是這樣寫的
public List<User> findUser(User user){
String account = user.getID()==null?"%":user.getID();
String phone = user.getPhone()==null?"%":user.getPhone();
String eMail = user.getENail()==null?"%":user.getEMail();
String hql = "from User u where u.id like " + account + " and " +
"u.phone like " + phone + " and " +
"u.email like " + email;
List<User> resultList = getSession().query(hql).list();
return resultList;
}
大概類似這樣
不過剛剛看到 LaPass 在 webdesign 版上看到他說有人 sql 語句用 + 號湊成
不管是用什麼 framework都不安全...
不過就我目前的想法,動態形成HQL或是SQL語句時除了這方法,想不太到別的。
另外不安全的意思是?? Hacker 會駭到我的 JVM 裡面,改我的 String pool 嗎?
另外就是我書是看王者歸來,然後 web 是自己買一本 javascript + css + jquery 的
不過在看到 web design 版上有一個人說他面試 css 20位設計師,問了3個基本題,
幾乎沒人答對,我看了看題目...恩...我也不會,書上根本沒寫到,其中第一題的
要如何在各瀏覽器 css 排版一致,我前幾天才問過同事,同事跟我說是慢慢改。
結果答案是 reset.css。
書上沒寫這東西,我也不知道要去哪裡看這類知識,雖然看了很多東西,
但是總覺得並沒有真正的學到...都是只能step by step
想請問這類所謂 "基礎" 的東西有沒有一個地方可以讓我學 ...
剛剛的 sql 跟 css 書上都沒有寫...
我是真的很想學好,跑了很多網站,但是也不知道要看哪裡,也無法得知我做的東西
到底好不好...
希望各位前輩能給我方法... 給我一個釣竿,推薦一本書也好,我自己就會去釣魚
謝謝大家了,知道 sql 的解法也可以說一下,不燃我在網路上也不知道要用甚麼關鍵字
去 google
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.198.167.187
推 phstudy:查hibernate prepared statement跟criteria api 12/29 22:02
推 LaPass:我也想知道..... 我也有好多基礎的東西不會 QQ 12/29 22:13
→ cyclone350:請問phstudy大大當初是怎麼知道這個東西的 12/29 22:19
→ cyclone350:我覺得我現在學東西像是在補漏洞一樣,沒人講就不知道 12/29 22:21
推 phstudy:PS是在調performance跟防sql injection還有從前人專案知道 12/29 22:37
推 phstudy:criteria api是準備JPA2考試唸書知道的 12/29 22:39
推 popcorny:防sql injection+1 12/30 11:51
推 luoqr:我一直覺得criteria api不是個好東西 很難一眼就明白看懂... 12/30 16:01
推 hate9527:不會呀 criteria我覺得基礎的一些Restrictions非常直覺耶 12/30 16:12
→ luoqr:sql複雜一些 就很難懂了 XD 12/30 17:49
→ luoqr:不過也可能是我沒用習慣的關係啦 XD 12/31 02:31