原因分析:
1. Springboot整合后的DaoTemplete在工程中被修改过,此时不能使用HQ语言,例如executeHql,executeProcedure,getCount,getEntityByHql等其他HQ相关方法;
2. 实体未关联表,导致查询的实体无法映射到具体的表,无法关联;
3. 在XML中映射的实体类名,不应该写Table名称;
4. 配置文件没有发布到target相应目录中。
解决办法:
1. 如果重新疯转了dao,则将HQ语言改为本地实现的DaoTemplete方法,否则无法使用。使用原始的dao时在启动服务时扫描自动装配Daotemplate;
2. 实体类关联上注入关联的表@Table(name="cn_product"),将此标注写在实体类名上,springboot启动时扫描类;
3. mapping文件中class配置项name对应类地址,table对应类名;
4. 增加类资源地址,pom配置文件中加入
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
本人经验及整合,仅供参考,预祝你尽早解决bug。