JPA 1.0:如何编写一个从实体到传输对象的有效转换器



我想编写一个有效的转换器,它将把JPA(1.0)实体转换为我的传输对象,并且:

  • 将在事务上下文中调用,
  • 不会引起额外的DB交互,只会转换已经加载的内容。

我不能使用结构if (entity.getSomething() != null),因为"某些东西"将被加载。

我唯一能想到的是让转换器生成一个新事务,在新事务的上下文中重新加载实体并提交它—然后研究一个独立的实体。不过,它确实需要重新装弹。有更聪明的主意吗?

您可以使用XStream将您的实体[隐式Serializable]转换为XML &反序列化回对象。它可能不是高效的,但速度很快。易于实现。

我成功地在一个项目中使用了相同的过程。

使用吉利德可以帮助ORM代理。http://noon.gilead.free.fr/gilead/

JPA提供了一个带有isLoaded() API的PersistenceUnitUtil类,该API可用于确定是否加载关系。

相关内容

  • 没有找到相关文章

最新更新