admin管理员组文章数量:1566363
今天使用Hibernate操作时,查询的操作也出现了这个错误,百思不得解,最后在网上找到了结局办法,应该算不上办法,就是原因。
首先我使用的hql语句如下
String hql="select new PO(。。。。) from 。。。";
出现这个错误,很大程度上是由于时间格式引起的,原因如下
1、在oracle中,使用Hibernate查询返回的时间是java.util.Date的。
2、使用Struts1时,前台的时间插件之类的在form里一定要是String的,否则会报错。
3、使用BeanUtils.copyProperties方法时,form里的String时间只能转换为java.sql.Date类型的。
4、由于3的原因,造成了Po实体类的时间类型要为java.sql.Date类型的。
5、Oracle返回java.util.Date,PO是java.sql.Date,于是问题就出现了。
目前的解决办法就是在构造方法中进行转换,还有一种方法就是自己实现String到java.util.Date之间的转换,不过我现在做的是一个老项目,之前有很多代码,万一改错了就麻烦了,所以采用构造方法中转换还是相对稳妥一些。
不得不吐槽一下,我们项目中的大多数问题,基本上是跟数据库有关的时间类型引起的,还有就是项目中的jar包冲突。。。
本文标签: 解决方案locateunableclassconstructor
版权声明:本文标题:出现Unable to locate appropriate constructor on class解决方案 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1726298819a1064904.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论