首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

hibernate有关问题 帮帮忙

2011-12-10 
hibernate问题 帮帮忙IUserDao为接口importcom.software.vo.UserpublicinterfaceIUserDao{publicUseruser

hibernate问题 帮帮忙
IUserDao   为接口
import   com.software.vo.User;
public   interface   IUserDao   {

public   User   userVerify(String   username   ,   String   password);
}
UserDAO是实现了IUserDao的子类,用户验证用户是否合法
中一个验证方法:public   User   userVerify(String   userName,   String   userPwd)   {
//   TODO   自动生成方法存根
log.info( "验证用户名和密码的方法被执行!!!! ");
User   user=new   User();
final   String   HQL= "FROM   User   u   where   u.username=?   and   u.userpwd=? ";
String[]   parameterHql=new   String[2];
parameterHql[0]=userName;
parameterHql[1]=userPwd;
List   list=this.getHibernateTemplate().find(HQL,parameterHql);
if(list.size()!=0){
user=(User)list.get(0);
}
return   user;
}
测试类:
public   class   DaoTest   extends   AbstractDependencyInjectionSpringContextTests   {


private   IUserDao   userDao;
public   void   setUserDao(UserDAO   userDao)   {
this.userDao   =   userDao;
}
protected   String[]   getConfigLocations()   {
//   TODO   自动生成方法存根
return   new   String[]{ "classpath:com/software/dao/impl/applicationContext.xml "};
}
public   void   testVerify()
{
User   user   =   userDao.userVerify( "tang ",   "429 ");
assertNotNull(user);
}
/*public   void   test()
{
this.assertEquals( "true ",   "true ");
}*/如果去掉testVerify执行test()测试成功   说明classpath:com/software/dao/impl/applicationContext.xml "没有问题
}
报错:
验证用户名和密码的方法被执行!!!!
Loading   XML   bean   definitions   from   class   path   resource   [org/springframework/jdbc/support/sql-error-codes.xml]
SQLErrorCodes   loaded:   [DB2,   HSQL,   MS-SQL,   MySQL,   Oracle,   Informix,   PostgreSQL,   Sybase]
***   ERROR:     User   is   not   mapped.
***   ERROR:     Invalid   path:   'u.username '
***   ERROR:   <AST> :   unexpected   end   of   subtree
***   ERROR:     Invalid   path:   'u.userpwd '
***   ERROR:   <AST> :   unexpected   end   of   subtree

applicationContext.xml文件内容:
<?xml   version= "1.0 "   encoding= "UTF-8 "?>
<!DOCTYPE   beans   PUBLIC   "-//SPRING//DTD   BEAN//EN "   "http://www.springframework.org/dtd/spring-beans.dtd ">

<beans>


<bean   id= "datasource "
class= "org.apache.commons.dbcp.BasicDataSource ">
<property   name= "driverClassName ">
<value> com.mysql.jdbc.Driver </value>
</property>
<property   name= "url ">
<value> jdbc:mysql://localhost:3306/computer </value>
</property>
<property   name= "username ">
<value> root </value>
</property>
<property   name= "password ">
<value> root </value>
</property>
</bean>
<bean   id= "sessionFactory "
class= "org.springframework.orm.hibernate3.LocalSessionFactoryBean ">
<property   name= "dataSource ">


<ref   bean= "datasource "   />
</property>
<property   name= "hibernateProperties ">
<props>
<prop   key= "hibernate.dialect ">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean>
<bean   id= "userDAO "   class= "com.software.dao.impl.UserDAO ">
<property   name= "sessionFactory ">
<ref   bean= "sessionFactory "   />
</property>
</bean>
</beans>

注释:其中删了一部分bean

User.hbm.xml文件:
<?xml   version= "1.0 "   encoding= "utf-8 "?>
<!DOCTYPE   hibernate-mapping   PUBLIC   "-//Hibernate/Hibernate   Mapping   DTD   3.0//EN "
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd ">
<!--  
        Mapping   file   autogenerated   by   MyEclipse   -   Hibernate   Tools
-->
<hibernate-mapping>
        <class   name= "com.software.vo.User "   table= "user ">
                <id   name= "userid "   type= "java.lang.Integer ">
                        <column   name= "userid "   />
                        <generator   class= "native "   />
                </id>
                <property   name= "username "   type= "java.lang.String ">
                        <column   name= "username "   length= "50 "   not-null= "true "   />
                </property>
                <property   name= "userpwd "   type= "java.lang.String ">
                        <column   name= "userpwd "   length= "30 "   not-null= "true "   />
                </property>
        </class>
</hibernate-mapping>

谢谢大家指导了


[解决办法]
你在hibernate.cfg.xml里面有没有配置User.hbm.xml啊?
[解决办法]
<bean id= "sessionFactory "
class= "org.springframework.orm.hibernate3.LocalSessionFactoryBean ">
<property name= "dataSource ">
<ref bean= "datasource " />
</property>
<property name= "mappingResources ">
<list>
<value> .../User.hbm.xml </value>
<value> .../xxx.hbm.xml </value>
</list>
</property>
...
</bean>

热点排行