java - JPA 1.0 : How to write an efficient transformer from an entity to a transfer object?

标签 java jakarta-ee jpa jpa-1.0

我想编写一个高效的转换器,它将 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/

相关文章:

java - Eclipse 不显示 git repo 中的所有包

java - REGEXP - 如何读取“字符?

java - 何时使用 doGet、doPost 和服务

java - 当使用 Eclipse 重命名动态 Web 项目的名称并部署在 Glassfish 上时,获取 HTTP 状态 404 - 未找到

java - Hibernate:如何根据特定条件从另一个实体获取或加载惰性实体?

java - Hibernate:创建 Mysql InnoDB 表而不是 MyISAM

java - hibernate 5.0.1 和 Java 8;找不到提供者 org.hibernate.type.Java8DateTimeTypeContributor

java - 创建arraylist HashMap 的最佳方法

java - 使用 xstream 的自定义转换器

java - 相当于ImageIO的文件是什么