我有一个案例,我希望从第三方库中保留一个类的对象。更具体地说,我想保留EPStatementObjectModel类型的对象。
据我所知,这个类没有标记为@javax.persistence.Entity但是实现了Serializable,但是就目前而言,我不能直接坚持这个类。如果我理解正确保持对象,那么顶级类必须是'实体'类。这是否意味着我坚持这个类的唯一方法是使用XML描述符(我想避免使用它)?
答案 0 :(得分:1)
您有两种选择:
orm.xml
文件中使用xml映射。这种方法有一个缺点 - 它需要EPStatementObjectModel
类具有某种唯一标识符 - 而且我可以看到它没有公共标识符。EPStatementObjectModel
类(因为它不是最终的)并将所有getter和setter包装在您自己的setter / getter方法中。在这种情况下,您可以自由地向类添加一些字段,例如唯一标识符。使用此方法可以使用注释。在需要EPStatementObjectModel
对象的地方使用从数据库中检索的实体很容易(向上转换),遗憾的是,持久存在的EPStatementObjectModel
对象将更加困难,因为你必须在你的子类中转换它们(向下转换) - 因此,实现类似复制构造函数的东西会很好。