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

网站开发是指免费自动建站

网站开发是指,免费自动建站,文库类网站建设建议及经验,shopex整合wordpress1.0jpa 2.0美丽在于情人眼中。 “轻松”也是如此#xff1a; 了解有关SQL结果集映射的更多信息#xff0c;并轻松处理本机查询结果#xff1a; http : //t.co/WH4BTlClIP #JPA #Java #JavaEE — Thorben Janssen#xff08; thjanssen123#xff09; 2015年4月15日 Tho… 1.0jpa 2.0 美丽在于情人眼中。 “轻松”也是如此 了解有关SQL结果集映射的更多信息并轻松处理本机查询结果 http : //t.co/WH4BTlClIP #JPA #Java #JavaEE — Thorben Janssen thjanssen123 2015年4月15日 Thorben写了关于JPA的非常有用的文章 最近他开始撰写有关JPA 2.1的新功能的精彩系列文章。 其中结果集映射。 您可能从CTMMC或annotatiomania.com等网站知道结果集映射。 我们可以将映射过程总结如下 a定义映射 SqlResultSetMapping(name BookAuthorMapping,entities {EntityResult(entityClass Book.class,fields {FieldResult(name id, column id),FieldResult(name title, column title),FieldResult(name author, column author_id),FieldResult(name version, column version)}),EntityResult(entityClass Author.class,fields {FieldResult(name id, column authorId),FieldResult(name firstName, column firstName),FieldResult(name lastName, column lastName),FieldResult(name version, column authorVersion)})}) 上面的映射相当简单。 它指定如何将数据库列映射到实体字段和整个实体。 然后为该映射指定一个名称 BookAuthorMapping 然后可以在整个应用程序中重用该名称例如使用本机JPA查询。 我特别喜欢Thorben随后写道 如果您不希望在实体中添加如此庞大的批注也可以在XML文件中定义映射 …因此我们回到了用大量XML替换大量注释的技术–我们中的许多人都希望避免使用注释的技术…:-) b应用映射 在某些Java类型上静态定义了映射后您就可以通过应用上述BookAuthorMapping来获取这些实体 ListObject[] results this.em.createNativeQuery(SELECT b.id, b.title, b.author_id, b.version, a.id as authorId, a.firstName, a.lastName, a.version as authorVersion FROM Book b JOIN Author a ON b.author_id a.id, BookAuthorMapping ).getResultList();results.stream().forEach((record) - {Book book (Book)record[0];Author author (Author)record[1]; }); 请注意您仍然需要记住Book和Author类型并显式转换因为没有可验证的类型信息真正附加到任何东西上。 “复杂”的定义 现在该文章声称这是“复杂”映射毫无疑问我会同意。 如果您想通过JPA真正映射您的实体那么只有一个简单联接的非常简单的查询已经触发了此类注释混乱。 一旦查询变得更加复杂您就不想看到Thorben的映射注释。 记住 SqlResultSetMapping是关于映射本机SQL结果的所以我们不再处于对象图持久化领域而是进入SQL领域 在该领域进行批量获取非规范化聚合和其他“奇特” SQL东西为王。 问题在这里 Java 5引入了注释。 注释最初打算用作“人工修饰符”即诸如static final protected类的东西有趣的是 锡兰只知道注释没有修饰符 。 这是有道理的。 Java语言设计人员可以在不破坏现有代码的情况下引入新的修饰符/“关键字”因为“真实”关键字是保留字很难在语言中引入。 还记得enum吗 因此注释的好用例而且很少是 Override Deprecated 尽管comment属性会很漂亮 FunctionalInterface JPA以及其他Java EE API以及Spring在使用注解方面一无所知。 在我之后重复 在Java之前或之后没有一种语言像Java那样滥用注释。 阅读以上内容时我的内心深处很强烈。 您还记得以下内容吗 在Java之前或之后没有任何一种语言比Java滥用过检查异常。 到2020年我们都会深表遗憾。 注释是Java类型系统中的一大障碍。 它们的合理使用极为有限而我们Java Enterprise开发人员如今所做的事情绝对不在“合理”的范围内。 我们正在滥用它们来配置某些我们本该为之编写代码的东西。 这是使用jOOQ 或任何其他利用SQL的泛型和类型安全性的API运行相同查询的方式 Book b BOOK.as(b); Author a AUTHOR.as(a);DSL.using(configuration).select(b.ID, b.TITLE, b.AUTHOR_ID, b.VERSION,a.ID, a.FIRST_NAME, a.LAST_NAME,a.VERSION).from(b).join(a).on(b.AUTHOR_ID.eq(a.ID)).fetch().forEach(record - {BookRecord book record.into(b);AuthorRecord author record.into(a);}); 此示例结合了JPA 2.1的注释和查询。 有关计划的“实体”的所有元信息已经包含在查询中因此也包含在fetch()方法产生的Result中。 但这并不重要关键是这个lambda表达式…… record - {BookRecord book record.into(b);AuthorRecord author record.into(a); } ……可以是您想要的任何东西 就像我们在以前的博客文章中显示的更复杂的示例一样 不再需要ORM 使用jOOQ和JavaFX将SQL数据转换为图表 可以使用函数即时定义映射。 函数是理想的映射器因为它们接受输入产生输出并且完全无状态。 关于Java 8中功能的最好之处在于它们是由Java编译器编译的可用于对映射进行类型检查。 当给定的映射算法可以使用多次时您可以将函数分配给对象从而可以重用这些函数。 实际上SQL SELECT子句本身就是这样的功能。 将输入元组/行转换为输出元组/行的函数您可以使用其他表达式即时调整该函数。 在前面的JPA 2.1本机SQL语句和SqlResultSetMapping示例中绝对没有任何类型可以进行类型检查。 想象一下更改列名 ListObject[] results this.em.createNativeQuery(SELECT b.id, b.title as book_title, b.author_id, b.version, a.id as authorId, a.firstName, a.lastName, a.version as authorVersion FROM Book b JOIN Author a ON b.author_id a.id, BookAuthorMapping ).getResultList(); 您注意到差异了吗 b.title列已重命名为book_title 。 在SQL字符串中。 在运行时会爆炸 如何记住你也必须适应 FieldResult(name title, column title) … 成为 FieldResult(name title, column book_title) 相反如何记住一旦在FieldResult重命名了column 就还必须检查使用此BookAuthorMapping位置并还要更改那些查询中的列名称。 SqlResultSetMapping(name BookAuthorMapping,... )注解是邪恶的 您可能同意或不同意以上某些内容。 您可能喜欢jOOQ也可能不喜欢jOOQ 这是完全可以的。 但是很难不同意以下事实 Java 5引入了非常有用的注释 Java EE / Spring严重滥用了这些注释来替换XML 现在我们有了Java中的并行Universe类型系统 该并行Universe类型系统完全没有用因为编译器无法对其进行自省 Java SE 8引入了函数式编程和许多类型推断 Java SE 9-10将引入更多很棒的语言功能 现在很清楚配置XML或注释应该首先是代码 JPA 2.1已成为新的EJB 2.0已过时 就像我说的。 很难不同意。 换句话说 代码在表达算法方面比配置好得多 我在会议上多次亲自见过Thorben。 Thorben :-)这里的这句话并不是个人意思-您有关JPA的文章非常有趣。 如果您的读者正在使用JPA请查看Thorben的博客 http : //www.thoughts-on-java.org 。 同时我很想提名Thorben为受人尊敬的头衔“ 2015年度注释狂” 翻译自: https://www.javacodegeeks.com/2015/04/how-jpa-2-1-has-become-the-new-ejb-2-0.html1.0jpa 2.0
http://wiki.neutronadmin.com/news/93970/

相关文章:

  • 域名 备案 没有网站wordpress固定链接设置404
  • wordpress全站ajax主题酒泉市建设局网站招标办
  • 公司企业做网站酒店设计公司排名
  • 东莞网站优化服务公司怎么用ip地址做网站
  • 站长工具永久国家中小企业公共服务平台
  • 好孩子官方网站王建设网站 提交入口
  • 如何做网站内部优化上传html到wordpress
  • wordpress整站cdn店面设计包括哪些内容
  • 免费做直播网站wordpress 栏目模板
  • 影响网站访问速度wordpress 分类采集
  • 网站开发设计公司块位网站目录文件夹
  • 中国建筑公司网站大全wordpress虚拟3d网站
  • 坂田网站建设多少钱国内国际时事心得体会
  • 成都公租房官方网站app推广渠道
  • 济宁专业网站制作公司建材 东莞网站建设
  • 绍兴建设网站php购物网站开发文档
  • 具有价值的做网站怎么找人做网站啊
  • 展览公司网站模板wordpress html单页
  • 昆山网站建设熊掌号王烨医生
  • 海宁长安网站开发沧州建设厅网站
  • 网站开发专利湖南响应式网站建设
  • 盐田网站设计网站制作工作室哪家比较好
  • 酒泉网站建设价格国内免费域名申请
  • 网站如何做线上和线下推广嵌入式软件开发招聘
  • 临城企业做网站ps可以做网站吗
  • 网站右边跳出的广告怎么做简单设计网站
  • .net网站建设实例如何做推广宣传
  • 南京展厅设计装修浙江seo外包
  • 玉山县建设局的网站wordpress映射不出去
  • 做网站如何选域名html手机网站怎么做