Welcome to utopia!
專注于JAVA開發!!! |
今有CN域名出售!25元一個,有意都速度聯系本人!
E-Mail:utopiannet@gamil.com
QQ:94424751
看了以后會直接打開http://www.sohu.com
項目一直沒有什么進展,主要是因為在Hibernate 3部署在Weblogic 8.1上時有出現問題.
問題如下,一旦使用了session.update方法和session.delete方法時會報錯:
unexpected token: as [select dept from Department as dept where dept.deptId = :deptId]
接著Weblogic直接掛掉.
上網查了好久,終于知道原因,原因是在Weblogic里有一個類和Hibernate 3有沖突.
解決方法有兩種:
一.采用老的clssice的解析器,這將導致update和delete不可用.
二,把antlr-2.7.5H3.jar這個包加到Weblogic啟動的classpath里.
我采用了第二種方法.
? 這工具的功能是圖形化配置Struts-config.xml這個文件,比較直觀。支持以下流行的IDE工具:
我現在做Struts用的是Myeclipse 4.1.2,編輯Struts-config.xml是很方便,但是如果想要修改就比較困難,不知道為什么,已經定義好的FormBean不能在圖形界面下修改(可以修改代碼).這個工具可以實現這一功能,推薦使用!
下載地址:
http://www.jamesholmes.com/struts/struts-console-4.8.zip
今天把孫MM的<<精通Hibernate>>里第五章的代碼跑了一遍,有一個方法怎么也過不去:
? public void deleteAllObjects(String className) throws Exception{
??? // Ask for a session using the JDBC information we've configured
??? Session session = sessionFactory.openSession();
??? Transaction tx = null;
??? try {
????? tx = session.beginTransaction();
????? session.delete("from " +className);
????? // We're done; make our changes permanent
????? tx.commit();
??? }catch (Exception e) {
????? if (tx != null) {
??????? // Something went wrong; discard all partial changes
??????? tx.rollback();
????? }
????? throw e;
??? } finally {
????? // No matter what, close the session
????? session.close();
??? }
? }
總報錯:
org.hibernate.MappingException: Unknown entity: java.lang.String
就是
?session.delete("from " +className);
這一句出錯了.真是神奇,這么簡單一段竟然過不去,立馬寫了一個測試,就是先Load一個NativeTester對象,然后再delete,成功了.......save一個NativeTester對象,也成功........這表示可以找到NativeTester.但是為什么說Unknown entity: java.lang.String 呢?
郁悶了一個下午以后,晚上開始google,終于讓我解決了,原來孫MM寫書的時候用的是2.0,現在我用的是3.0,批量刪除的方法也已經改了,現在是:
String hqlDelete = "delete NativeTester";?
int deletedEntities = session.createQuery( hqlDelete )?
.executeUpdate();
終于解決了!!!!
補充一下,我的開發環境:
Eclipse 3.1.2+Myeclipse 4.1.1+Tomcat 5.0.28+Mysql 5.0.16
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
27 | 28 | 29 | 30 | 1 | 2 | 3 | |||
4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
11 | 12 | 13 | 14 | 15 | 16 | 17 | |||
18 | 19 | 20 | 21 | 22 | 23 | 24 | |||
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 |