当我们使用JPA投影查询时,我们最终会根据所选列创建不同的构造函数。
这最终成为代码味道,因为理想情况下我们希望使用builder / fluent API来实例化对象。
此外,SONAR会将此类臃肿的构造函数报告为违规行为。
是否有其他解决方案可以在不影响代码质量的情况下实现JPA投影功能?
答案 0 :(得分:0)
我使用的JPA提供程序允许我为查询设置结果类(而不需要使用构造函数JPQL表示法),然后在结果类中我可以提供一个构造函数,以指定的顺序获取返回的列,或默认构造函数+ setter,或者" put"方法。根据此链接http://www.datanucleus.org/products/accessplatform_5_0/jpa/jpql.html#Query_Result
也许您的提供商也提供此服务?