您的位置:首页 > 产品设计 > UI/UE

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" />

重启,问题解决!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: