Hibernate+DWR构建应用过程中遇到的问题

最近要写一个小的B/S工程,觉得往常的SSH框架实在太过沉重,故决定只用持久层的hibernate加上DWR来实现。编码过程中出现了不少问题,才发现自己的基础还不够扎实。

 

问题1   Myeclipse自动映射生成的DAO文件缺乏可用性

我使用的是Myeclipse8, 或许是我配置不好,不过就目前情况来看,通过IDE自带的映射文件生成工具生成的DAO是有错误的。因为我的项目中没加入spring,就缺少了spring的事务管理,而在这种情况下,IDE生成的DAO并没有自动加入事务,这直接导致DAO中除了“查”的方法之外,余下的方法都不能正常的执行。因此为了保证可运行,必须手动添加事务。

 

public void save(Company transientInstance) {
		log.debug("saving Company instance");
		try {
			Transaction ts = getSession().beginTransaction();
			getSession().save(transientInstance);
			ts.commit();
			log.debug("save successful");
		} catch (RuntimeException re) {
			log.error("save failed", re);
			throw re;
		}
	}

 

问题2  DWR.xml文件的设置问题

 

之前做的项目都有spring的存在,而这里没有了,因此dwr.xml文件中的<create creator="spring" javascript="CompanyManager" >的creator要从spring改成new。原来以为这样就没问题了呢,后来发现dwr会出问题,才发现除了修改creator,还需要将<param name="javabean"改成<param name="class",这样就OK了

 

问题3  自动生成的DAO中findByProperty方法出错,报ClassNotFoundException: org.hibernate.hql.ast.HqlToken

 

修正了问题1后,发现程序每次调用到findByProperty方法后都直接出现异常被捕获,(这里我的try...catch...写的不好- -,完全看不出是在哪里出的错,只知道在整个try块中有问题)。通过DEBUG,发现抛出的是ClassNotFoundException: org.hibernate.hql.ast.HqlToken异常。上网查了这个异常,绝大多数都是提到是在将hibernate3项目部署到weblogic上的时候会出现的异常,因为一个叫antlr.jar的包冲突了。我到我项目里一查看,果然有个antlr.jar的包。悲剧的是,这个包居然是锁死在整个Hibernate 3 Core Libraries中的,无法单独删除。同时,我的项目也不是部署在weblogic上而是tomcat上的啊。郁闷中偶然网上见到一个方案,让我们在Hibernate.cfg.xml中添加一个属性,尝试一下,果然奏效了,工程正常执行了~

 

添加的属性:

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

 

个人觉得添加到这个属性的作用应该是设定 更改hibernate执行查询时默认调用的类 为另一个类,这样可能就绕开了对antlr.jar包的调用吧(个人感觉吧,不知道真实原因是什么- -)。

 

 

                                                                                                         by   NN     09-11-23 00:53

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip
毕设新项目基于python3.7+django+sqlite开发的学生就业管理系统源码+使用说明(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 学生就业管理系统(前端) ## 项目开发环境 - IDE: vscode - node版本: v12.14.1 - npm版本: 6.13.4 - vue版本: @vue/cli 4.1.2 - 操作系统: UOS 20 ## 1.进入项目目录安装依赖 ``` npm install ``` ## 2.命令行执行进入UI界面进行项目管理 ``` vue ui ``` ## 3.编译发布包(请注意编译后存储路径) #### PS:需要将编译后的包复制到后端项目的根目录下并命名为'static' 学生就业管理系统(后端) ## 1.项目开发环境 - IDE: vscode - Django版本: 3.0.3 - Python版本: python3.7.3 - 数据库 : sqlite3(测试专用) - 操作系统 : UOS 20 ## 2.csdn下载本项目并生成/安装依赖 ``` pip freeze > requirements.txt pip install -r requirements.txt ``` ## 3.项目MySQL数据库链接错误 [点击查看解决方法](https://www.cnblogs.com/izbw/p/11279237.html)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值