在eclipse中运行没有问题,打包之后遇到这个问题。很尴尬,英文不好。我的实体类是通过注解映射生成的,通过eclipse和jar包运行日志分析
这里分别是eclipse打印的日志信息和打包运行的日志信息,分析得出:
打包运行的日志信息没有扫描到我们的实体类。解决办法:
意思就是增加目录的信息,打包的时候可以扫描到哦。
有的时候资源文件放在包的外面,打成包运行会提示xml无法找到,也是这个问题导致。
用spring注解的项目,eclipse可以运行,打成jar包后,读取不了注解的,也可能是这个原因哦。
总结:
1.请务必要注意,在“select count(*) from Room”的时候,这个Room,不是你的数据库对应的表名,也不是你的映射文件的表名。而是你的实体对象的名称(是区分大小写的!)。
2.配置文件没有加载到hibernate的实体类列表里面。
3.映射文件的字段与数据库字段不一致,或者名称不一致。
4.注解的项目,打包时没有添加目录信息。