azheng
azheng
spring-data-jpa使用多年,自己也写了一些很实用的组件,难得看到有jpa的扩展库,使用下来感觉非常赞,唯一不足的就是不能动态映射,不能自定义实体类(VO/DTO)返回。这样就不能select自己想要的,对于稍微复杂select的sql支持不是很好。望改进,加油 !!!
> @blinkfox 正是因为使用了Projections未生效,所以在此留言,但是未用fenix的xml文件的动态投影都生效了,也可能是我用法不对,我继续研究研究!
> @blinkfox 各种方式都尝试了,确实不支持,如果支持的话,希望能提供一下文档,感谢!
>@blinkfox 这是定义接口的地方 ```java @QueryFenix List queryByXML(@Param("params") ReqMailMessageVO params); ``` 这是xml ```xml SELECT a.id, a.content FROM MailMessage AS a WHERE 1 = 1 ``` 这是调用的地方 ```java List list = repository.queryByXML(vo); ```...
@blinkfox 投影的类型可以是接口也可以是类。 **基于接口的投影**,须提供字段对应的get方法接口。 ```java interface NamesQueryDTO { String getFirstname(); String getLastname(); } ``` **基于类的投影**,定义好所有查询字段,并且提供全参构造器。强烈推荐 使用Lombok的@Value注解 简化代码。 ```java @Value class NamesOnlyDTO { String firstname, lastname; } ```
https://blog.csdn.net/qq_41959009/article/details/101363309 之前写过相关博客,定义成接口也没关系,只要支持就行,通常还是使用类更方便。
测试了一下 ,对接口确实是支持的,对类的方式还是不支持,new对象的方式我也知道,这种方式我不太喜欢用,因为需要创建对应的构造方法,而且构造方法和select字段的顺序有强一致性的要求,这个就增加了开发难度,而且后期构造方法或者select字段顺序不小心被改动都会影响到它的正常执行。不过能支持接口已经满足我的需求,感谢!
>@blinkfox 好的 ,理解的,感谢!
>@blinkfox :thumbsup: 效率非常高,这个功能很实用。