这是我要完成的一个小例子。
@Query("select new ksa.so.beans.PojoMain("
+ " PojoName(il.title),"
+ " PojoNumber(il.item.id)"
+ ") "
+ "From ItemLanguage il where il.id = 13751 and il.language.id = 1")
PojoMain testingNestedPojo();
任何帮助将非常感激
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您的代码片段,您正在使用Spring Data JPA的@Query
注解来执行一个自定义的SQL查询,并将结果映射到一个特定的Java对象(PojoMain
)中。这个查询从ItemLanguage
实体中选取了标题(title
)和项目ID(item.id
),并使用构造器表达式创建了PojoMain
实例。这里是一个简化的解释和注意事项,帮助您理解和实施这段代码:
ItemLanguage
表中根据指定的ID(13751)和语言ID(1)获取记录,并将查询结果转换为自定义的PojoMain
类实例。定义PojoMain类: 确保您的PojoMain
类已正确定义,包含与查询结果对应的属性以及相应的构造方法。例如:
public class PojoMain {
private String pojoName;
private Long pojoNumber;
public PojoMain(String pojoName, Long pojoNumber) {
this.pojoName = pojoName;
this.pojoNumber = pojoNumber;
}
// Getter and Setter methods...
}
编写Repository接口: 您已经正确地在Repository接口中使用了@Query
注解来定义查询。确保此接口继承了Spring Data的JpaRepository
或其他相关接口,并且您的实体类ItemLanguage
与数据库表相对应。
执行查询: 在Service层或Controller层中注入上述Repository接口,并调用testingNestedPojo()
方法来执行查询并获取PojoMain
对象。
ItemLanguage
实体中的id
和item.id
字段存在且类型匹配。通过遵循以上步骤和注意事项,您可以成功地完成自定义查询并映射结果到自定义POJO的操作。