有很多文章指出使用JPA / hibernate不需要使用DTO

同样在article由SO成员Bohzo我很少需要阅读DTO

甚至在articles中反对暴露实体声明当实体没有任何行为时(当它们是POJO时)不需要具有DTO,如在贫血域模型中那样

假设有一个Entity类

class Department{

List employees //lazily loaded collection

集合中的每个对象都包含另一个延迟加载的集合

class Employee{

List accounts

有一个getDepartment()方法

这是一个宁静的服务用来提供部门的Json信息.

可能的解决方案是

解决方案1)根据hibernate文档打开和关闭每个请求的hibernate会话(这是控制器中最重要的方法是事务性的?)或更好的使用Spring的OpenSessionInViewFilter,根据这个SO post

为什么不能重新打开会话并获取延迟加载的对象而不是抛出异常?有没有办法用JPA / hibernate配置它?

解决方案2)同样在hibernate doc中,另一种方法是进行汇编阶段.它究竟意味着什么?

将getDepartment API分解为DAO的不同API?

解决方案3)使用DTO即使使用DTO,持久层如何知道视图是否需要完全加载的部门.

导致将API分解为getDepartmentOnly()getDepartmentWithEmployees()和其他人说是否获得100%的部门对象或部分对象

一个API分解为许多映射到许多DTO的实体

解决方案4)正如bohzo的文章中的分页视图一样,避免了延迟加载并且有查询来获取有限的结果

请更正解决方案2并解释hibernate文档中的内容?

java hibernate dto_java – 正确使用Entity和DTO在Restful Web服务中...相关推荐

  1. java restlet 教程_java – 如何使用RESTlet在RESTful Web服务中强制执行“会话”?

    1) how do we authenticate and authorize Client in Step 2 and 3 if there is no session maintained on ...

  2. 使用Spring开发Java RESTful Web服务的7个理由

    REST现在已成为开发Web服务的标准方法,涉及Java时,可以使用许多框架和库,例如JAX-RS,Restlet,Jersey,RESTEasy,Apache CFX等,但是我鼓励Java开发人员使 ...

  3. RESTful Web 服务 - Java (JAX-RS)

    JAX-RS 表示用于 RESTful Web 服务的 Java API.JAX-RS 是一种基于 Java 的编程语言 API 以及为创建 RESTful Web 服务提供支持的规范.2.0 版本发 ...

  4. netbeans连接数据库_NetBeans Java EE技巧3:数据库中的RESTful Web服务

    netbeans连接数据库 许多现代的Web应用程序正朝着使用HTTP使用无状态通信的方向发展. REST(表示状态转移)体系结构样式通常用于设计网络应用程序,而使用Java EE 7,很容易开发用于 ...

  5. NetBeans Java EE技巧3:数据库中的RESTful Web服务

    许多现代的Web应用程序正朝着使用HTTP使用无状态通信的方向发展. REST(代表性状态转移)体系结构样式通常用于设计网络应用程序,而使用Java EE 7,很容易开发用于数据库通信的RESTful ...

  6. 使用Java的RESTful Web服务

    REST代表"代表性状态转移",由Roy Fielding于2000年在其论文"建筑风格和基于网络的软件体系结构设计"中首次提出. REST是一种建筑风格. H ...

  7. java restful项目打包_构建入门Restful Web服务

    创建资源类 假设你已经设置了项目和构建系统,你可以创建Web服务. 通过考虑服务交互来开始这个过程. 该服务将处理GET请求/greeting,可选地使用name查询字符串中的参数.该GET请求应该返 ...

  8. 使用Spring 3.1和基于Java的配置构建RESTful Web服务,第2部分

    1.概述 本文介绍了如何在Spring中设置REST –控制器和HTTP响应代码,有效负载编组配置和内容协商. 2.在Spring了解REST Spring框架支持两种创建RESTful服务的方式: ...

  9. 用 Java 技术创建 RESTful Web 服务--转载

    简介 JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX ...

最新文章

  1. sed及awk显示指定行内容
  2. 硬盘知识大杂烩(四)
  3. java安装_我最喜欢的Java高级开发人员书籍
  4. Linux parted分区工具使用示例
  5. 异步加载在Vue生命周期哪个阶段更合理
  6. mongodb 持久化 mysql_(转)mongodb与mysql区别
  7. 【Elasticsearch】es 面试题 积累
  8. mybatis oracle 多条件批量删除_面试官经常喜欢问的Mybatis经典面试题,值得好好收藏哦!...
  9. android学习资料_知乎上的高能Android学习资源来了,屏幕适配,性能优化,热修复NDk...
  10. python遗传算法(详解)
  11. 微机原理及应用简答题复习
  12. 《AutoCAD 2016中文版从入门到精通》——- 导读
  13. 工业相机参数及选型参考
  14. java 手写签名_无纸化办公中手写签名的实现
  15. 张飞电子工程师速成视频教程百度云_张飞电子工程师速成视频教程第二部
  16. 一文读懂云计算、大数据、人工智能
  17. 1688图片搜索淘宝商品接口
  18. Kudo介绍 + Spark\Python\Scala开发Kudu应用程序
  19. 无名师的Unix心传
  20. Dell戴尔游匣7559黄屏解决办法

热门文章

  1. 高德地图开发 怎么去除城市信息
  2. centos 宝塔面板 mongodb 给新的数据库 创建登录用户和密码
  3. mongoose Topology was destroyed 处理
  4. 实现瀑布流的核心代码
  5. Oracle常见错误
  6. 同步容器和并发容器的区别
  7. cmd pc如何开多个微信_抖音打击刷赞刷粉,240多个百万粉丝大V被封;微信PC版再更新...
  8. C语言编程快速入门黎明,何用C语言模拟键盘输入?
  9. Java hashCode() 和 equals()使用的场景
  10. selenium 验证码——万能码的使用