我想编写一个高效的转换器,它将JPA(1.0)实体转换为我的传输对象,并且:
我无法使用构造if (entity.getSomething() != null)
,因为“某些东西”会被加载。
我唯一能想到的是让变换器产生一个新事务,在新事务的上下文中重新加载实体并提交它 - 然后处理一个分离的实体。但它确实涉及重新加载。任何聪明的想法?
答案 0 :(得分:1)
您可以使用XStream将您的实体[隐式Serializable
]转换为XML&反序列化回到对象。它可能不是有效的,但快速和易于实施。
我成功地为项目使用了相同的流程。
答案 1 :(得分:1)
使用Gilead可以帮助ORM代理。 http://noon.gilead.free.fr/gilead/
答案 2 :(得分:0)
JPA为PersistenceUnitUtil类提供了一个isLoaded()API,可用于确定是否加载了关系。