<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-42  評(píng)論-578  文章-1  trackbacks-0

            寫這個(gè)主題的文章在網(wǎng)絡(luò)上應(yīng)該暫時(shí)沒有吧,也看過許多SSH整合開發(fā)的書,許多都是舊版本的框架整合,而且大部分都是以XML配置文件的方式,即使談到Annotation也是針對(duì)其中一個(gè)框架而言的。隨著開源框架更新版本中不斷引進(jìn)對(duì)Annotation的支持,使得我們可以用單方面去管理我們的類與關(guān)系,而不用像以往那樣,一旦遇到問題,就要不斷在Java視圖和XML視圖中切換。好,開始吧,既然網(wǎng)絡(luò)中暫時(shí)沒有這方面的文章,我就來開創(chuàng)個(gè)先例。自己探索學(xué)習(xí)一下,也讓大家來學(xué)習(xí)和提出批評(píng)和建議。
            首選說一下我們的開發(fā)準(zhǔn)備吧!
            開發(fā)環(huán)境:Tomcat 6.0,JDK1.6,MySQL5.0
            開發(fā)工具:Eclipse-jee(Eclipse的官網(wǎng)上下載)
            所要下載的框架包:struts-2.0.11.2-all.zipspring-framework-2.5.5-with-dependencies.ziphibernate-distribution-3.3.1.GA-dist.zip,這三個(gè)壓縮包在其官方網(wǎng)站都可以下載。當(dāng)然,這個(gè)小項(xiàng)目所要用到不止這些,我們用到的時(shí)候再去下載。
            好,我們來開始第一階段的探索——Hibernate3.3的Annotation的實(shí)現(xiàn)。
            新建我們的Dynamic Web Project,取名為"ssh_annotation”,配置Tomcat6.0的支持,打開MySQL,建立一個(gè)空數(shù)據(jù)庫(kù),取名為"ssh_annotation"。記得,要引進(jìn)MySQL的JDBC驅(qū)動(dòng)包mysql-connector-java-5.0.8-bin.jar
            在解壓縮的hibernate-distribution-3.3.1.GA目錄中,把hibernate.jar,和\lib\required\下的所用jar包引進(jìn)到我們項(xiàng)目的lib目錄下。
            不知道用過Hibernate3.3開發(fā)的朋友會(huì)不會(huì)遇到過這樣的問題:把上面的包都準(zhǔn)備好的,開發(fā)Hibernate測(cè)試類時(shí),會(huì)報(bào)Caused by: java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder 或者Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/LogManager的錯(cuò)誤。這是因?yàn)镠ibernate3.3提供的jar包,缺少了slf4j-log4j12.jar這個(gè)包。解決辦法是:在Hibernate的官方網(wǎng)站上下載hibernate-annotations-3.4.0.GA.zip,解壓縮,把其\lib\下的slf4j-log4j12.jar引進(jìn)我們項(xiàng)目的lib目錄下。而我們引進(jìn)這個(gè)jar包后,若我們沒有引進(jìn)log4j.jar的話,就會(huì)報(bào)java.lang.NoClassDefFoundError: org/apache/log4j/LogManager的錯(cuò)誤,可能是slf4j-log4j12.jar要用調(diào)用log4j的類吧。我們也引進(jìn)log4j.jar即行。

            當(dāng)然,hibernate-annotations-3.4.0.GA.zip 是我們開發(fā)Hibernate Annotation所要用到的,除以上面那些jar包外,我們還要引進(jìn)其hibernate-annotations.jar,及其\lib\下的hibernate-commons-annotations.jarejb3-persistence.jar。好,暫時(shí)就這些,我們接下來需要用到哪些jar包時(shí)再引進(jìn)。
            好,第一步,來開發(fā)我們的實(shí)體類User。代碼如下:
    package com.rong.entity;

    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;

    @Entity
    @Table(name
    ="tb_user")
    public class User {
        
        @Id    @GeneratedValue(strategy
    =GenerationType.IDENTITY)
        
    private int id;
        
        @Column(name
    ="username", length=15)
        
    private String username;
        
        @Column(name
    ="password", length=15)
        
    private String password;
        
        
    public int getId() {
            
    return id;
        }

        
    public void setId(int id) {
            
    this.id = id;
        }

        
    public String getUsername() {
            
    return username;
        }

        
    public void setUsername(String username) {
            
    this.username = username;
        }

        
    public String getPassword() {
            
    return password;
        }

        
    public void setPassword(String password) {
            
    this.password = password;
        }


    }
            簡(jiǎn)單解釋一下吧:
            @Entity定義User類為實(shí)體類,@Id定義該屬性對(duì)應(yīng)的列為主鍵,@GeneratedValue(strategy=GenerationType.IDENTITY)定義主鍵生成策略為Indentity,適用于MySQL和MS SQL等數(shù)據(jù)庫(kù)。@Column(name="username", length=15)定義列名和取值長(zhǎng)度。
            應(yīng)該不難的,更多有關(guān)Hibernate的注解,請(qǐng)下載并參考我整理的Hibernate Annotation幫助文檔 /Files/rongxh7/hibernateAannotations.rar 。慢慢學(xué)吧!
            
            當(dāng)然,必要的XML配置文件還是要有的:
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
    >

    <hibernate-configuration>

        
    <session-factory>

            
    <!-- Database connection settings -->
            
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            
    <property name="connection.url">jdbc:mysql://localhost:3306/ssh_annotation</property>
            
    <property name="connection.username">root</property>
            
    <property name="connection.password">root</property>

            
    <!-- 數(shù)據(jù)庫(kù)言 -->
            
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
            
            
    <!-- 將Session扔到線程里去處理 -->
            
    <property name="current_session_context_class">thread</property>

            
    <!-- 在控制臺(tái)打印SQL語句 -->
            
    <property name="show_sql">true</property>

            
    <!-- 自動(dòng)把實(shí)體類與屬性映射成數(shù)據(jù)庫(kù)中的表與列 -->
            
    <property name="hbm2ddl.auto">update</property>
             
            
    <!--  
            <mapping resource="com/rong/entity/User.hbm.xml"/>
             
    -->
             
             
    <!-- 在Hibernate中注冊(cè)User實(shí)體類,區(qū)別于上面注釋掉的resource寫法 -->
             
    <mapping class="com.rong.entity.User"/>

        
    </session-factory>

    </hibernate-configuration>

            到這里,我們可以運(yùn)行Tomcat,Hibernate會(huì)根據(jù)hbm2ddl.auto自動(dòng)地把實(shí)體類與屬性轉(zhuǎn)變成數(shù)據(jù)庫(kù)中的表與列。但這一步,要事先在數(shù)據(jù)庫(kù)中建立一個(gè)名為"ssh_annotation"的空數(shù)據(jù)庫(kù)。好了,看一下,你的數(shù)據(jù)庫(kù)中是否有"tb_user"的表生成了?!
            接下來,我們來開發(fā)一個(gè)包裝器類,取名HibernateUtil,代碼如下:
    package test.rong.hibernate;

    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.AnnotationConfiguration;

    public class HibernateUtil {
        
        
    private static final SessionFactory sessionFactory;

        
    static {
            
    try {
                
    //用xxx.hbm.xml形式配置實(shí)體映射
                
    //sessionFactory = new Configuration().configure().buildSessionFactory();
                
    //用Annotation形式配置實(shí)體映射
                sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
            }
     catch (Throwable ex) {
                System.err.println(
    "Initial SessionFactory creation failed." + ex);
                
    throw new ExceptionInInitializerError(ex);
            }

        }


        
    public static SessionFactory getSessionFactory() {
            
    return sessionFactory;
        }


    }

            學(xué)過Hibernate的朋友們,應(yīng)該對(duì)這個(gè)類不陌生吧。在此,我就不多解釋啦,注意一下我注釋的地方就行。下面,我們來進(jìn)行測(cè)試,下載最新版本的Junit4.5.jar,試一下感覺如何。當(dāng)然,舊版本的應(yīng)該也沒問題的啦!寫測(cè)試代碼如下:    

    package test.rong.hibernate;

    import java.util.Iterator;
    import java.util.List;
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.junit.Before;
    import org.junit.Test;
    import com.rong.entity.User;

    public class EntityTest {
        
        
    private Session session;
        
        @Before
        
    public void initSession(){
            
    this.session = HibernateUtil.getSessionFactory().getCurrentSession();
        }

        
        @Test    
    //測(cè)試添加用戶
        public void testSave(){
            session.beginTransaction();
            User user 
    = new User();
            user.setUsername(
    "rongxh7");
            user.setPassword(
    "blogjava");
            session.save(user);
            session.getTransaction().commit();
        }

        
        @Test    
    //測(cè)試查詢用戶列表
        @SuppressWarnings("unchecked")
        
    public void testQuery(){
            session.beginTransaction();
            Query query 
    = session.createQuery("from User u");
            List
    <User> users = query.list();
            
    for(Iterator<User> it = users.iterator() ; it.hasNext() ; ){
                User user 
    = it.next();
                System.out.println(
    "username = " + user.getUsername());
            }

            session.beginTransaction().commit();
        }

        
        @Test    
    //測(cè)試查詢單個(gè)用戶
        public void testGet(){
            session.beginTransaction();
            User user 
    = (User)session.get(User.class1);
            System.out.println(
    "username = " + user.getUsername());
            session.getTransaction().commit();
        }

        
        @Test    
    //測(cè)試查詢修改用戶
        public void testUpdate(){
            session.beginTransaction();
            User user 
    = (User)session.load(User.class1);
            user.setPassword(
    "hello blogjava");
            session.update(user);
            session.getTransaction().commit();
        }

        
        @Test    
    //測(cè)試刪除用戶
        public void testDelete(){
            session.beginTransaction();
            session.delete(session.load(User.
    class1));
            session.getTransaction().commit();
        }


    }

            
            到此,我們的Hibernate Annotation開發(fā)完成了。你成功了沒?如果有什么問題,請(qǐng)回復(fù),我盡力為你解答!好,第一階段暫告一段落。不要忘記,我們是要做的是基于Annotatioln的SSH整合開發(fā),讓我們一起期待下一階段吧!
            (*^-^*) 本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處, http://www.tkk7.com/rongxh7謝謝! (*^-^*)


    本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,謝謝!http://www.tkk7.com/rongxh7(心夢(mèng)帆影JavaEE技術(shù)博客)
        

    posted on 2009-03-23 21:05 心夢(mèng)帆影 閱讀(15660) 評(píng)論(38)  編輯  收藏 所屬分類: Struts2.xHibernateSpring

    評(píng)論:
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-23 21:40 | 何奇山
    沙發(fā)。。寫的很好!!!  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-23 21:42 | Java Programmer
    這個(gè)東西實(shí)在是太簡(jiǎn)單了,網(wǎng)上到處都是,所謂的annotation與xml也并沒有理念、本質(zhì)上的區(qū)別,還是來點(diǎn)項(xiàng)目實(shí)戰(zhàn)內(nèi)容吧,你說的這些東西項(xiàng)目中完全用不上  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-23 21:57 | wexl
    想知道原來 Spring中配置的DAO 注入的sessionFactory,怎么用在使用annotation時(shí)注入。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-23 22:17 | wexl
    @wexl
    搞明白了,使用SimpleHibernateTemplate  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1)[未登錄] 2009-03-23 22:20 | haha
    好 期待下集  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-23 23:07 | 28商機(jī)網(wǎng)
    建議樓主你去看下 SpringSide 參考下它的模式  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-23 23:49 | ,,らSummer
    樓主寫得很精彩,期待看到你更多的好文。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-24 08:23 | Kevin.Chiu
    為什么不用struts2.1.6??  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-24 12:08 | 道長(zhǎng)A@ajava.org
    一直以來,我就不喜歡Annotation,它只不過是掛著羊皮賣狗肉而已,比狗肉還不好。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-24 12:09 | 道長(zhǎng)A@ajava.org
    不過,還是很期待后續(xù)文章。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-24 20:55 | duduli
    之前就聽過hibernate的Annotation很方便。
    可能還沒適應(yīng)這樣的方式,
    期待后續(xù)。。。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-28 16:19 | 杯中水
    你不覺得上面的代碼有些問題嗎?
    qq:418805369  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-03-28 18:13 | kidd
    為什么得用openSession才可以通過測(cè)試  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1)[未登錄] 2009-05-21 00:07 | Alan
    錯(cuò)誤信息:

    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder


    大哥指導(dǎo)下!
      回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-05-29 11:06 | None
    @Alan
    少slf4j-log4j12.jar包  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-05-29 11:07 | None
    @杯中水
    有啥問題啊~~說說撒   回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-05-30 19:45 | None
    注解方式j(luò)dk版本至少1.6  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1)[未登錄] 2009-05-31 21:44 | hone
    Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2009-06-05 11:38 | soon
    為什么不寫一下它們?nèi)绾握?  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1)[未登錄] 2009-08-24 14:01 | xiaoqiang
    我的報(bào)java.lang.NoClassDefFoundError: org/hibernate/event/PostCollectionRecreateEventListener 實(shí)在不知道是啥原因  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-01-05 13:55 | tencher
    一個(gè)空的工程按照你說的做,
    把hibernate.cfg.xml文件做成后放到src下,
    編譯后,啟動(dòng)tomcat
    什么也沒有自動(dòng)生成,
    請(qǐng)指教。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-01-22 15:58 | Apache's___Tomcat
    web.xml要做什么配置嗎,我運(yùn)行之后根本未對(duì)數(shù)據(jù)庫(kù)作什么動(dòng)作  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-01-24 14:57 | rongxh7
    @Apache's___Tomcat
    在web.xml中配置spring,而在spring的配置文件中配置Hibernate,具體的配置內(nèi)容,你參考一下網(wǎng)上的文章,我現(xiàn)在不在自己電腦上,暫不能把代碼貼出來,請(qǐng)見諒!  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-01-24 14:59 | rongxh7
    @tencher
    你還應(yīng)該在Spring的配置文件中配置上hibernate,在web.xml中配置上spring,當(dāng)服務(wù)器運(yùn)行時(shí),會(huì)從spring容器識(shí)別出hibernate。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-01-27 20:12 | laihais
    好像不是很行,樓主可以發(fā)份源碼來嗎?謝謝。Mail:461455263@qq.com  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-02-02 09:06 | jack-xia
    樓主能發(fā)一份源碼我好嗎?想深入?yún)⒖家幌?!謝謝了~~~
    Mail:xxf880324@163.com
    萬分感謝,你為我們新手做的一切!!!  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1)[未登錄] 2010-03-11 16:48 | flying
    寫的相當(dāng)?shù)牟诲e(cuò)   回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-03-14 22:29 | samir
    樓主費(fèi)心了,寫的真不錯(cuò),謝謝分享~~  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1)[未登錄] 2010-03-20 22:09 | tianya
    樓主,也給我一份源碼吧!謝謝tianya0506102@163.com  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-06-04 10:28 | Mac Hotesion
    樓主寫的不錯(cuò),辛苦了。
    我遇到了下面兩個(gè)問題:
    1. 樓主實(shí)體類User用的javax.persistence.Entity;.....是哪一個(gè)包的?
    我目前用的是:ejb3-persistence.jar,看了你的文章一直沒有提到ejb3-persistence.jar,難道你用的是另外一個(gè)包嗎?
    我的不用這個(gè)包會(huì)報(bào)錯(cuò)。

    2. 你的Action中用的javax.annotation.Resource用的是哪一個(gè)包的?是不是javaee.jar包?①如果是的話,就和ejb3-persistence.jar包發(fā)生了沖突,這兩個(gè)包中都有javax.persistence.Entity;........②如果不是的話,你用的是哪個(gè)包?

    3. 是否也給我一份源碼吧!謝謝 houtingsong163@163.com   回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-08-02 17:15 | tt
    我查詢 有異常 怎么回事額
    java.lang.reflect.UndeclaredThrowableException
    at $Proxy10.createQuery(Unknown Source)
    at test.rong.hibernate.EntityTest.testQuery(EntityTest.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
    at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
    at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
    at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
    at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
    at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
    at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
    at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
    at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
    at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
    at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:342)
    ... 24 more
    Caused by: java.lang.NoClassDefFoundError: antlr/ANTLRException
    at org.hibernate.hql.ast.ASTQueryTranslatorFactory.createQueryTranslator(ASTQueryTranslatorFactory.java:58)
    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:98)
    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
    at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:94)
    at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
    at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
    at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1650)
    ... 29 more

      回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-08-02 17:17 | tt
    oh 好了。少了個(gè)jar包 antlr/ANTLRException  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2010-09-07 17:17 | sunlongfei_001@126.com
    寫的很好,建議大家慢慢的仿照例題運(yùn)行。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2011-02-11 15:40 | zheyiw
    照著做的報(bào)錯(cuò):
    java.lang.NoClassDefFoundError: org/hibernate/loader/custom/SQLQueryReturn  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2011-02-25 11:51 | neal
    今天閑來無事弄里一下,不過是oracle下,直接啟動(dòng)tomcat 沒有生成tb_user,而是運(yùn)行測(cè)試類時(shí)生成的  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2011-08-18 16:58 | Mara
    版本問題很多啊,剛開始用的是hibernate3.6,出現(xiàn)不少問題,hibernate_cfg.xml配置文件不對(duì),找不到Entity,提示少類。后來下了3.31才通過。。。。  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1) 2011-10-30 17:41 | dmcpxy
    沒有提到 Spring的啊?  回復(fù)  更多評(píng)論
      
    # re: 基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合開發(fā) (1)[未登錄] 2012-09-14 11:38 | silver
    你只是很簡(jiǎn)單的講了 hibernate annotations 和 struts, spring 毫無瓜葛  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 免费黄色福利视频| 成人午夜免费福利| 日本高清免费不卡在线| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 在线亚洲午夜片AV大片| 一级做性色a爰片久久毛片免费| 99蜜桃在线观看免费视频网站| 免费无码一区二区三区蜜桃大 | 人妻免费久久久久久久了| 久久久久久夜精品精品免费啦| 午夜dj免费在线观看| 亚洲国产精品无码久久久秋霞2| 亚洲综合国产成人丁香五月激情| 久久性生大片免费观看性| 成全影视免费观看大全二| 亚洲精品字幕在线观看| 亚洲七久久之综合七久久| 久久免费动漫品精老司机| 免费jjzz在线播放国产| 亚洲成a人片7777| 一个人免费播放在线视频看片| 免费无码精品黄AV电影| 精品国产_亚洲人成在线高清| 亚洲av永久无码精品秋霞电影秋 | 四虎永久成人免费影院域名| 亚洲欧洲国产日韩精品| 男女交性无遮挡免费视频| 114一级毛片免费| 黑人精品videos亚洲人| 特级毛片免费播放| 毛片免费视频播放| 久久亚洲春色中文字幕久久久| 一级视频在线免费观看| 午夜视频免费成人| 亚洲精品国产福利片| 国产免费阿v精品视频网址| 国产亚洲精品免费| 亚洲人成网站免费播放| 日韩在线播放全免费| 亚洲AV无码专区亚洲AV伊甸园| 视频免费1区二区三区|