Named query not found: (包扫描的问题)
2016-05-11 11:02
435 查看
今天在服务器上发布了个新系统,登录的时候提示Named query not found:
java.lang.IllegalArgumentException: Named query not found: User.findByUsername
看了一下entity包中的User类,NamedQuery是定义好的,那为什么提示找不到Named query呢?
想起昨天调试的时候也遇到过这个问题,既然实体类本身没问题,那么问题肯定出在其他环节。
也就是说,光实体类中定义了Named Query还不够,还要有其他类通过什么方式把它加载进来,那么问题就出在加载这个环节。
在几个环节都查了一遍,找到了原因:
在app-context.xml中,“packagesToScan” 这个节点是用来扫描实体类,加载Named Query的,并且这里的包名写错了,还是用的旧包,而项目里实际已经换了新包:
<property name="packagesToScan" value="com.vict.manage.*.entity" />
参照新的包结构,修改这个节点
修改如下:
<property name="packagesToScan" value="com.vict.web1.entity" />
重启,问题解决!
java.lang.IllegalArgumentException: Named query not found: User.findByUsername
看了一下entity包中的User类,NamedQuery是定义好的,那为什么提示找不到Named query呢?
想起昨天调试的时候也遇到过这个问题,既然实体类本身没问题,那么问题肯定出在其他环节。
也就是说,光实体类中定义了Named Query还不够,还要有其他类通过什么方式把它加载进来,那么问题就出在加载这个环节。
在几个环节都查了一遍,找到了原因:
在app-context.xml中,“packagesToScan” 这个节点是用来扫描实体类,加载Named Query的,并且这里的包名写错了,还是用的旧包,而项目里实际已经换了新包:
<property name="packagesToScan" value="com.vict.manage.*.entity" />
参照新的包结构,修改这个节点
修改如下:
<property name="packagesToScan" value="com.vict.web1.entity" />
重启,问题解决!
相关文章推荐
- UE4推荐教程
- [Baltic2014]sequence 解题报告
- A Beginner's Guide To LVM [3/9]
- A Beginner's Guide To LVM [2/9]
- A Beginner's Guide To LVM [1/9]
- poj2081 Recaman's Sequence
- 自动化UI测试
- Top K Frequent Elements
- UGUI实现的变速摇杆
- iOS获取UUID,并使用keychain存储
- setValue:forUndefinedKey
- JBAS011006 Not installing optional component StandardServletAsyncWebRequest due
- hdu 1159 Common Subsequence
- UGUI实现的变速摇杆 (转)
- poj3368 Frequent values(成段更新+离散化求最值)
- MSBuild编译vs工程的常用指令
- iOS开发之基础视图——UITextView
- ROS_Kinetic_02 ROS Kinetic 迁移指南及中文wiki指南(Migration guide)
- ROS_Kinetic_02 ROS Kinetic 迁移指南及中文wiki指南(Migration guide)
- ROS_Kinetic_02 ROS Kinetic 迁移指南及中文wiki指南(Migration guide)