Jur*_*uru 8 java jpa transactions dto lazy-initialization
我一直想知道应该如何处理这种异常现象:
但是,如何避免JPA LazyInitialization异常呢?DTO转换可能需要Lazy Fetched数据,但由于服务层处理了事务,因此无法进行转换.
有一些我能想到的方法,但都是丑陋的.将DTO转换放在服务层中对我来说似乎是最好的.
是的,绝对最好在服务层中操纵DTO.在更新包含在DTO中的更改的实体时尤其如此,否则您将需要获取和更新分离的实体,将它们传递给服务,再将它们合并到持久性上下文中等.
"DTO应该在控制器中转换,服务层不需要知道它们."
而不是这样,我会说更好的经验法则是控制器不需要了解实体.但是你可以使用分离的实体而不是DTO来处理简单的情况,以避免创建大量的小型DTO类,尽管我个人总是使用DTO来保持一致并使以后的更改更容易.
| 归档时间: |
|
| 查看次数: |
718 次 |
| 最近记录: |