blinkfox / fenix

This is an extension library to the Spring Data JPA complex or dynamic SQL query. 这是一个比 MyBatis 更加强大的 Spring Data JPA 扩展库,为解决复杂动态 JPQL (或 SQL) 而生。https://blinkfox.github.io/fenix
https://blinkfox.github.io/fenix
Apache License 2.0
346 stars 72 forks source link

关于@EnableFenix注解配置包路径的问题 #27

Closed cn-nemo closed 3 years ago

cn-nemo commented 4 years ago

jpa(dao)层的包根路径和@EnableFenix所在启动类包根路径一致时使用正常(即@QueryFenix被识别时候); 但当根路径不同时候,@EnableFenix无法配置不同的包路径,所以@QueryFenix不能被扫描识别,所以报错说Repository的相关方法提示命名不规范(前提知识,jpa Repository的方法命名,如果使用@Query是可以自由命名的(即自定义sql),但当jpa发现没有自定义sql时候要求方法名符合命名规则,不能自用命名,报错)。 作者是否需增加@EnableFenix配置不同的包路径,像@EnableJpaRepositories(basePackages 。。。。。。

pengten commented 4 years ago

@cn-nemo @EnableJpaRepositories(repositoryFactoryBeanClass = FenixJpaRepositoryFactoryBean.class, basePackages = "xxxx") 您好,介于您的问题,可以先使用以上方式替换 @EnableFenix 注解。

cn-nemo commented 4 years ago

@cn-nemo @EnableJpaRepositories(repositoryFactoryBeanClass = FenixJpaRepositoryFactoryBean.class, basePackages = "xxxx") 您好,介于您的问题,可以先使用以上方式替换 @EnableFenix 注解。

嗯试试看

blinkfox commented 4 years ago

原本 Fenix 的使用方式就是 @EnableJpaRepositories(repositoryFactoryBeanClass = FenixJpaRepositoryFactoryBean.class),后续版本,增加了 @EnableFenix 注解,这个注解就是引用了 @EnableJpaRepositories 这个注解,通常情况下使用这个即可,如果想自定义包路径或者多数据源时使用 JPA 原生的 @EnableJpaRepositories 就行。

chenmu5241 commented 4 years ago

估计你使用的方式跟我类似,是再跟实体类放在了一起了吧,这种问题你排查的时候看target目录里面是不是又xml文件,没有的话就改动maven的pom文件里resource就好了

cn-nemo commented 4 years ago

公共框架的dao层独立项目(包根路径可能不同)。这是常见需求。用作者的做法可以。

blinkfox commented 3 years ago

新版本已经可以在 @EnableFenix 中去使用其他配置参数了。