学习hibernate第一个例子

来源:互联网 发布:分贝测试软件在线 编辑:程序博客网 时间:2024/05/10 13:44

本来是myeclipse6.5,但是struts的资源文件中文不能保存的问题没有解决,插件propedit自动安装或者手动安装都不行,资源文件的图标就是不出现p,只好倒退myeclipse5.5

 

后来几次启动失败,单独安装了tomcat,再后来发现myeclipse6.5向导生成的hibernate文件和书中例子不一样,调整多次,用框架不顺利才能更深刻体会成功时的喜悦

 

有一个取所有列表的的地方,String HQL = "select a from Users as a order by a.id";

Query query = session.createQuery(HQL);

对这个sql语句类似的语句太惊讶了,报错找不到表,后来看网上说是配置文件Users.hbn.xml不存在或有问题,可能就是某些包名大小写的问题吧

切记:select * from Users 是不行的

 

还有一些报错是因为没有hibernate的相关库文件

 

这个错是库冲突ClassNotFoundException: org.hibernate.hql.ast.HqlToken

增加hibernate.cfg.xml配置文件一行:

<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>

 

照例学习重要改进:

1删除增加提示:

<html:link page="/delmember.do" paramId="id" paramName="row" paramProperty="id">直接删除</html:link>

<a href="#" onclick="submitdel('<bean:write name="row" property="id"/>')">询问删除</a>

<script language="javascript">  

       function submitdel(id){

   if(window.confirm("您确定要删除吗?一旦删除不能恢复")){

window.location="delmember.do?id="+id;

}

}

</script>

2 电话号码验证规则区号由3位改为3或者4位

<constant>

<constant-name>phone</constant-name>

<constant-value>^/(?(/d{3})/)?[/d{1} ]?[-| ]?(/d{8})$</constant-value>

</constant>