@Query的使用 初步总结
时间:2020-03-12 09:57:32
收藏:0
阅读:104
一、Object[]数组
@Query("select addrId,addrDetails from Addr where id=:id")
Object findAddrInfoObject(@Param("id") Integer id);
这是Object返回值其实是Object[]数组
二、结果放入同一个类
@Query("select new Addr(addrId,addrDetails) from Addr where id=:id")
Addr findAddrInfoAddr(@Param("id") Integer id);
结果放入同一个类:Addr中需要有Addr(addrId,addrDetails)的构造函数。
三、结果封装到另外一个类
@Query("select new com.example.model.ReturnModel(a.addrId,a.addrDetails) from Addr as a where a.id=:id")
ReturnModel findAddrInfoModel(@Param("id") Integer id);
ReturnModel有ReturnModel(a.addrId,a.addrDetails)构造函数,且是全限定名称com.example.model.ReturnModel。
如果不是全限定名称,则会报以下错误:
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException:
Unable to locate class [ReturnModel] [select new ReturnModel(a.addrId,a.addrDetails) from
原文:https://www.cnblogs.com/modestlin/p/12467195.html
评论(0)