我想编写一个高效的转换器,它将 JPA (1.0) 实体转换为我的传输对象,并且:
- 将在事务上下文中调用,
- 不会导致额外的数据库交互,即只会转换已加载的内容。
我无法使用构造if (entity.getSomething() != null)
,因为“something”将被加载。
我唯一能想到的是让转换器生成一个新事务,在新事务的上下文中重新加载实体并提交它 - 然后处理一个分离的实体。不过,它确实涉及重新加载。有什么更聪明的想法吗?
最佳答案
您可以使用XStream将您的实体[隐式 Serialized
] 转换为 XML 并反序列化回对象。它可能不是高效的,但快速且易于实现。
我成功地在一个项目中使用了相同的流程。
关于java - JPA 1.0 : How to write an efficient transformer from an entity to a transfer object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528122/