用过 ssh 框架结构的请进,急死了,球赛看完了,还没有搞懂配置问题。
用的是 struts+spring+hibernate3 不知道是哪儿错了 贴出来让大家看看。谢谢各位了。
数据库是 sql server.
郁闷呀,那位帮帮小弟。先谢谢了。
告诉我帖子太长了。我分三段来写,主要把log详细的让大家帮助研究下。
Users.hbm.xml-----
<hibernate-mapping package="com.hibernate">
<class name="Users" table="users">
<id name="id" column="ID" type="java.lang.Integer">
<generator class="identity"/>
</id>
<property name="username" column="USERNAME" type="java.lang.String" not-null="true" />
<property name="password" column="PASSWORD" type="java.lang.String" not-null="true" />
</class>
---------------------------------
这是配置
</hibernate-mapping>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"></ref>
</property>
<property name="mappingResources">
<list>
<value>com/hibernate/Users.hbm.xml</value>
<value>com/hibernate/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
这是错误的log
06-06-13 06:09:02,234 DEBUG TransactionSynchronizationManager( 137 ) - Retrieved value [org.springframework.orm.hibernate3.SessionHolder@8e753c] for key [org.hibernate.impl.SessionFactoryImpl@b2db5b] bound to thread [http-8080-Processor25]
06-06-13 06:09:02,234 DEBUG TransactionSynchronizationManager( 137 ) - Retrieved value [org.springframework.orm.hibernate3.SessionHolder@8e753c] for key [org.hibernate.impl.SessionFactoryImpl@b2db5b] bound to thread [http-8080-Processor25]
06-06-13 06:09:02,234 DEBUG HibernateTemplate( 358 ) - Found thread-bound Session for HibernateTemplate
06-06-13 06:09:02,250 DEBUG QueryPlanCache( 69 ) - unable to locate HQL query plan in cache; generating ( from users as users )
06-06-13 06:09:02,625 DEBUG QueryTranslatorImpl( 236 ) - parse() - HQL: from users as users
06-06-13 06:09:02,687 DEBUG AST( 252 ) - --- HQL AST ---
\-[QUERY] 'query'
\-[SELECT_FROM] 'SELECT_FROM'
\-[FROM] 'from'
\-[RANGE] 'RANGE'
+-[IDENT] 'users'
\-[ALIAS] 'users'
06-06-13 06:09:02,687 DEBUG ErrorCounter( 68 ) - throwQueryException() : no errors
06-06-13 06:09:02,906 DEBUG HqlSqlBaseWalker( 111 ) - select << begin [level=1, statement=select]
06-06-13 06:09:03,000 DEBUG HibernateTemplate( 382 ) - Not closing pre-bound Hibernate Session after HibernateTemplate
06-06-13 06:09:03,000 DEBUG RuleBasedTransactionAttribute( 119 ) - Applying rules to determine whether transaction should rollback on org.springframework.orm.hibernate3.HibernateQueryException: users is not mapped. [ from users as users ]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: users is not mapped. [ from users as users ]
06-06-13 06:09:03,000 DEBUG RuleBasedTransactionAttribute( 137 ) - Winning rollback rule is: null
06-06-13 06:09:03,000 DEBUG RuleBasedTransactionAttribute( 143 ) - No relevant rollback rule found: applying superclass default
06-06-13 06:09:03,000 DEBUG TransactionInterceptor( 280 ) - Invoking rollback for transaction on sonic.service.UsersManager.findAllUsers due to throwable [org.springframework.orm.hibernate3.HibernateQueryException: users is not mapped. [ from users as users ]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: users is not mapped. [ from users as users ]]
06-06-13 06:09:03,000 DEBUG HibernateTransactionManager( 673 ) - Triggering beforeCompletion synchronization
06-06-13 06:09:03,000 DEBUG HibernateTransactionManager( 581 ) - Initiating transaction rollback
06-06-13 06:09:03,000 DEBUG HibernateTransactionManager( 599 ) - Rolling back Hibernate transaction on Session [org.hibernate.impl.SessionImpl@1be8bf1]
06-06-13 06:09:03,000 DEBUG JDBCTransaction( 152 ) - rollback
06-06-13 06:09:03,031 DEBUG JDBCTransaction( 193 ) - re-enabling autocommit
06-06-13 06:09:03,031 DEBUG JDBCTransaction( 163 ) - rolled back JDBC Connection
06-06-13 06:09:03,031 DEBUG JDBCContext( 199 ) - after transaction completion
06-06-13 06:09:03,031 DEBUG ConnectionManager( 296 ) - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
06-06-13 06:09:03,031 DEBUG SessionImpl( 417 ) - after transaction completion
06-06-13 06:09:03,031 DEBUG HibernateTransactionManager( 697 ) - Triggering afterCompletion synchronization
06-06-13 06:09:03,031 DEBUG TransactionSynchronizationManager( 265 ) - Clearing transaction synchronization
06-06-13 06:09:03,031 DEBUG TransactionSynchronizationManager( 185 ) - Removed value [org.springframework.orm.hibernate3.SessionHolder@8e753c] for key [org.hibernate.impl.SessionFactoryImpl@b2db5b] from thread [http-8080-Processor25]
06-06-13 06:09:03,046 DEBUG TransactionSynchronizationManager( 185 ) - Removed value [org.springframework.jdbc.datasource.ConnectionHolder@1e867d6] for key [org.springframework.jdbc.datasource.DriverManagerDataSource@ccc621] from thread [http-8080-Processor25]
06-06-13 06:09:03,046 DEBUG DataSourceUtils( 201 ) - Resetting read-only flag of JDBC Connection [com.microsoft.jdbc.sqlserver.SQLServerConnection@a00fd]
06-06-13 06:09:03,046 DEBUG HibernateTransactionManager( 659 ) - Closing Hibernate Session [org.hibernate.impl.SessionImpl@1be8bf1] after transaction
06-06-13 06:09:03,046 DEBUG SessionFactoryUtils( 785 ) - Closing Hibernate Session
06-06-13 06:09:03,046 DEBUG SessionImpl( 268 ) - closing session
06-06-13 06:09:03,046 DEBUG ConnectionManager( 374 ) - performing cleanup
06-06-13 06:09:03,046 DEBUG ConnectionManager( 435 ) - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
06-06-13 06:09:03,062 DEBUG JDBCExceptionReporter( 40 ) - SQL Warning
java.sql.SQLWarning: [Microsoft][SQLServer 2000 Driver for JDBC]Database changed to myData
at com.microsoft.jdbc.base.BaseWarnings.createSQLWarning(Unknown Source)
at com.microsoft.jdbc.base.BaseWarnings.get(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getWarnings(Unknown Source)
at org.hibernate.util.JDBCExceptionReporter.logAndClearWarnings(JDBCExceptionReporter.java:22)
at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:443)
at org.hibernate.jdbc.ConnectionManager.cleanup(ConnectionManager.java:379)
at org.hibernate.jdbc.ConnectionManager.close(ConnectionManager.java:318)
at org.hibernate.impl.SessionImpl.close(SessionImpl.java:293)
at org.springframework.orm.hibernate3.SessionFactoryUtils.doClose(SessionFactoryUtils.java:787)
at org.springframework.orm.hibernate3.SessionFactoryUtils.closeSessionOrRegisterDeferredClose(SessionFactoryUtils.java:775)
at org.springframework.orm.hibernate3.SessionFactoryUtils.releaseSession(SessionFactoryUtils.java:748)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCleanupAfterCompletion(HibernateTransactionManager.java:662)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:754)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:615)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:560)
at org.springframework.transaction.interceptor.TransactionAspectSupport.doCloseTransactionAfterThrowing(TransactionAspectSupport.java:284)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100)