@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
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!