当前位置: 首页 > news >正文

厦门网站建设公司哪个好信息科技公司网站

厦门网站建设公司哪个好,信息科技公司网站,房屋平面设计图制作软件,哪些网站国内打不开JPA为您提供NamedNativeQuery以便使用本机SQL。 但是#xff0c;用法并不方便#xff0c;特别是当您需要在本机SQL中映射多个实体时。 您必须定义一组SqlResultSetMapping映射#xff0c;这很容易出错。 对于以前使用过Hibernate本机SQL功能的用户#xff0c;您会发现它比J… JPA为您提供NamedNativeQuery以便使用本机SQL。 但是用法并不方便特别是当您需要在本机SQL中映射多个实体时。 您必须定义一组SqlResultSetMapping映射这很容易出错。 对于以前使用过Hibernate本机SQL功能的用户您会发现它比JPA的NamedNativeQuery更易于使用。 在最近的项目中我正在使用Spring Data JPA。 我已将Hibernate的本机查询功能添加到我的Spring数据库中。 现在您可以在JPA中执行本机查询而无需使用SqlResultSetMapping。 1.添加您的客户注解NativeQueries和NativeQuery Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) public interface NativeQueries {NativeQuery[] queries() default {}; }Retention(RetentionPolicy.RUNTIME) public interface NativeQuery {String name() default ;String sql() default ; } 2.在基础Spring Data Repository中添加“ queryNatively”方法。 如果您不知道如何向Spring数据JPA基础存储库添加自定义行为请参阅我以前的文章 了解如何自定义Spring数据JPA基础存储库 。 您可以在上一篇文章中看到我有意在GenericRepositoryImpl中公开存储库接口即springDataRepositoryInterface属性。 这些小技巧使我能够轻松访问存储库界面中的注释。 public List queryNatively(String nativeQueryName, LinkedHashMapString,Class? inEntityClasses, Map inParams ){SQLQuery query this.createHibernateNativeQuery( nativeQueryName, inParams );//add entitiesif (inEntityClasses!null) { for (Object key: inEntityClasses.keySet()) {String entityClassAlias key.toString();Class? entityClass (Class?)inEntityClasses.get(key); query.addEntity(entityClassAlias,entityClass);} }//add parameterif (inParams ! null){for (Object key: inParams.keySet()) {String queryParamName key.toString();Object queryParamValue inParams.get(key);query.setParameter(queryParamName, queryParamValue);}} return (query!null)? query.list() : null ;}private SQLQuery createHibernateNativeQuery (String nativeQueryName, Map inParams ){if (GenericRepository.class.isAssignableFrom(getSpringDataRepositoryInterface())) {Annotation nativeQueryAnn getSpringDataRepositoryInterface().getAnnotation(NativeQueries.class);if(nativeQueryAnn ! null){NativeQueries nativeQueries (NativeQueries)nativeQueryAnn;NativeQuery[] queries nativeQueries.queries();for (NativeQuery sqlquery : queries) { if (StringUtils.equals(nativeQueryName, sqlquery.name())) {String sql sqlquery.sql();Session hiernateSess em.unwrap(Session.class);SQLQuery query hiernateSess.createSQLQuery(sql);//add parameterif (inParams ! null){for (Object key: inParams.keySet()) {String queryParamName key.toString();Object queryParamValue inParams.get(key);query.setParameter(queryParamName, queryParamValue);}} return query;} }}}return null;} 3.示例用法 在存储库界面中通过NativeQueries和NativeQuery批注定义要使用的本机SQL查询。 用法与调用Hibernate本机查询功能相似。 您可能只看到Hibernate别名和属性引用 。 NativeQueries (queries {NativeQuery(namequery1, sqlSELECT {cat.*}, {mother.*} FROM CATS c, CATS m WHERE c.MOTHER_ID c.ID and c.name :catName ),NativeQuery(namequery2, sqlSELECT {cat.*} FROM CATS where c.ID :catName) } ) public interface CatRepository extends GenericRepositoryCat, Long { } 在注入存储库的服务或业务类中您只需简单地调用queryNatively方法即可执行本机SQL查询。 Service public class CatService {Injectprivate CatRepository catRepository;public ListCat searchCat( String catName) {ListCat catList;// Add entity mapping for your queryHashMapString, Object inParams new HashMapString, Object();inParams.put(catName, Felix);// Prepare parameters for your native sqlLinkedHashMapString, Object entityMap new LinkedHashMapString, Object();entityMap.put(cat, Cat.class);entityMap.put(mother,Mother.class);catList catRepository.queryNatively(query1, ,entityParam);return catList;} } 参考来自Programming Peacely博客的JCG合作伙伴 Boris Lam 向您的Spring Data Repository中添加了Hibernate本机SQL功能 。 翻译自: https://www.javacodegeeks.com/2012/08/hibernate-native-sql-features-into-your.html
http://www.sadfv.cn/news/325823/

相关文章:

  • 临沂哪里有做网站手机版免费个人简历
  • 网站建设的方式有哪些深圳哪些设计公司做网站比较出名
  • 怎么样看网站用什么程序做的虾子酱 wordpress
  • 网站推广工具上海网站建设网页制作
  • php做网站框架免费图片链接生成器
  • 新乡网站推广房产官方网站
  • asp网站后台源码模仿别人网站
  • 网站被降权恢复网页图片怎么下载
  • 网站建设要准备什么软件免费的app软件下载网站
  • 韩国美容网站模板网络服务商怎么联系
  • 上海高新技术企业名单查询网站建设优化
  • 怎么用阿里云建设网站广州今天新闻
  • 在哪些网站可以发布推广信息新手怎么学做电商
  • 免费数据统计网站腾讯云轻量应用服务器
  • wordpress建设网站如何有效提高网站排名
  • 坂田网站建设费用明细wordpress手机版论坛
  • 建设网站要什么资料wordpress批量删除图片
  • 高端网站有哪些自己买台服务器做网站
  • 如何优化m网站苏州工业园区建设网站
  • 那种类型的网站可以自己做也可以赚钱wordpress插件在哪个文件夹
  • 建设银行招标网站廉江网站建设
  • 广州网站开发外包公司阜阳网页
  • 做视频网站 视频放在哪里找电商网站商品表设计
  • 网站建设三亚平坝网站建设
  • 创建站点是什么意思优秀设计师个人网站
  • 建设网站经营范围网络推广公司方案
  • 带注册的网站需要多大空间仿制网站
  • 深圳企业网站制作设计方案蚌埠市建设银行网站
  • 电影网站开发视频教程山东网站建设电话
  • 莆田网站制作软件分类信息网站成都搭建