java - 使用 DTO 或值对象模式来应对延迟加载异常

标签 java spring hibernate rest dto

Java/Hibernate/Spring/Mysql栈中的架构问题

我应该在我的服务层中使用 OpenSessionInView 模式还是使用 DTO 对象来应对延迟加载异常。

从服务层返回域/实体对象是一个好习惯吗?或者返回 DTO 对象是一个好习惯,这些对象稍后在 Web 服务层中序列化为 xml/json。

最佳答案

我遵循一个非常简单的规则:

DTO 或多或少是从一个域到另一个域的转换。这意味着我仅在两层之间存在物理分离时才使用 DTO。

这意味着在您拥有 JSP 的情况下,您可以使用 OpenSessionInView 模式来避免翻译模型等的大量过度工作。

关于java - 使用 DTO 或值对象模式来应对延迟加载异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10755050/

相关文章:

java - Spring JPA Repository n+1 问题,EBEAN 替代方案

java - 是否可以代理传入的请求?

java - 是否可以在运行时从数据库模式生成 JPA 实体类?

java - JEdi​​torPane 在显示特定的非动画 GIF 时 CPU 使用率较高

java - 基于 Spring Java 的配置优于基于 XML 的配置?

java - JPA Hibernate - @ManyToOne 未正确获取

mysql - 在我的 JUnit 测试中无法破解 "java.sql.SQLException: No suitable driver"

java - 观察者模式与单一职责原则的违背

java - 无法使用 java InetAddress 找到主机,但可以使用 curl 找到主机

java - 如果我想要我的 Mac 的 JDK,我应该在哪里寻找它?