查询不要用事务。。而且你的事务放的位置也不对,应该放在catch里。。

解决方案 »

  1.   

    查询可以有事务!
    估计是你的WEB应用没有获得SESSION或Hibernate的配置问题。
    下次把抛的异常也贴出来。
      

  2.   

    INFO - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true
    INFO - Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
    INFO - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true
    INFO - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true
    INFO - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true
    INFO - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true
    INFO - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true
    INFO - Initializing, config='org.apache.struts.taglib.html.LocalStrings', returnNull=true
    INFO - Hibernate 3.0.5
    INFO - hibernate.properties not found
    INFO - using CGLIB reflection optimizer
    INFO - using JDK 1.4 java.sql.Timestamp handling
    log4j:ERROR Could not read configuration file [log4j.properties].
    java.io.FileNotFoundException: log4j.properties (系统找不到指定的文件。)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at java.io.FileInputStream.<init>(FileInputStream.java:66)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:297)
    at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
    at com.woden.HibernateSessionFactory.currentSession(HibernateSessionFactory.java:49)
    at com.woden.MemoDAOFactory.query(MemoDAOFactory.java:36)
    at com.woden.action.TestAction.execute(TestAction.java:24)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
    log4j:ERROR Ignoring configuration file [log4j.properties].
      

  3.   

    INFO - configuring from resource: /hibernate.cfg.xml
    INFO - Configuration resource: /hibernate.cfg.xml
    INFO - Mapping resource: com/woden/Memo.hbm.xml
    INFO - Mapping class: com.woden.Memo -> Memo
    INFO - Configured SessionFactory: null
    INFO - processing extends queue
    INFO - processing collection mappings
    INFO - processing association property references
    INFO - processing foreign key constraints
    INFO - Using Hibernate built-in connection pool (not for production use!)
    INFO - Hibernate connection pool size: 20
    INFO - autocommit mode: false
    INFO - using driver: com.microsoft.jdbc.sqlserver.SQLServerDriver at URL: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=memotest
    INFO - connection properties: {user=sa, password=****}
    INFO - RDBMS: Microsoft SQL Server, version: Microsoft SQL Server  2000 - 8.00.760 (Intel X86) 
    Dec 17 2002 14:22:05 
    Copyright (c) 1988-2003 Microsoft Corporation
    Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 1)INFO - JDBC driver: SQLServer, version: 2.2.0040
    INFO - Using dialect: org.hibernate.dialect.SQLServerDialect
    INFO - Using default transaction strategy (direct JDBC transactions)
    INFO - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
    INFO - Automatic flush during beforeCompletion(): disabled
    INFO - Automatic session close at end of transaction: disabled
    INFO - Scrollable result sets: enabled
    INFO - JDBC3 getGeneratedKeys(): disabled
    INFO - Connection release mode: null
    INFO - Default batch fetch size: 1
    INFO - Generate SQL with comments: disabled
    INFO - Order SQL updates by primary key: disabled
    INFO - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
    INFO - Using ASTQueryTranslatorFactory
    INFO - Query language substitutions: {}
    INFO - Second-level cache: enabled
    INFO - Query cache: disabled
    INFO - Cache provider: org.hibernate.cache.EhCacheProvider
    INFO - Optimize cache for minimal puts: disabled
    INFO - Structured second-level cache entries: disabled
    INFO - Statistics: disabled
    INFO - Deleted entity synthetic identifier rollback: disabled
    INFO - Default entity-mode: pojo
    INFO - building session factory
    WARN - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/D:/Tomcat%205.5/webapps/Memo/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
    INFO - Not binding factory to JNDI, no JNDI name configured
    INFO - Checking 0 named queries
    WARN - SQL Warning: 0, SQLState: 
    WARN - [Microsoft][SQLServer 2000 Driver for JDBC]Database changed to memotest
    WARN - SQL Warning: 5701, SQLState: 01000
    WARN - [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]已将数据库上下文改为 'memotest'。
    WARN - SQL Warning: 0, SQLState: 
    WARN - [Microsoft][SQLServer 2000 Driver for JDBC]Language changed to 简体中文
    WARN - SQL Warning: 5703, SQLState: 01000
    WARN - [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]已将语言设置改为 简体中文。
    ERROR - Servlet.service() for servlet action threw exception
    java.lang.NoClassDefFoundError: antlr/ANTLRException
    at org.hibernate.hql.ast.ASTQueryTranslatorFactory.createQueryTranslator(ASTQueryTranslatorFactory.java:27)
    at org.hibernate.impl.SessionFactoryImpl.createQueryTranslators(SessionFactoryImpl.java:357)
    at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:423)
    at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
    at com.woden.MemoDAOFactory.query(MemoDAOFactory.java:39)
    at com.woden.action.TestAction.execute(TestAction.java:24)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
      

  4.   

    你eclipse发布的web?,如果是在eclipse里选中你的工程点右键+ properties + myeclipse + myeclipse-web 出现在选项卡,选择deployment  单选选择第2个。复选选2 3.最后点OK就行了
    呵呵。不知道行不行。可以试试。以前经常出错。老是说找不包
      

  5.   

    java.io.FileNotFoundException: log4j.properties (系统找不到指定的文件。)
    在你的classPath下面要放入这个文件。log4j.properties
      

  6.   

    antlr-2.7.6rc1.jar可能需要复制到web/WEB-INF/lib文件夹下。
      

  7.   

    hibernate3里面查询少写sql语句或者hql为好充分用好Criteria