gpt4 book ai didi

java - 持久化基类不是@Entity的对象

转载 作者:行者123 更新时间:2023-12-01 12:45:54 25 4
gpt4 key购买 nike

我有一个案例,我想保留第三方库中的类的对象。更具体地说,我想保留 EPStatementObjectModel 类型的对象。

据我所知,此类未标记为 @javax.persistence.Entity但确实实现了可序列化,但就目前情况而言,我无法直接保留此类。如果我正确理解持久对象,则顶级类必须是“实体”类。这是否意味着我保留此类的唯一方法是使用 XML 描述符(我想避免这种情况)?

最佳答案

您有两个选择:

  1. 您可以在 orm.xml 中使用 xml 映射按照 pL4Gu33 在您的问题下的评论中建议的文件。这种方法有一个缺点 - 它需要 EPStatementObjectModel类具有某种唯一标识符 - 正如我所看到的,它没有公共(public)标识符。
  2. 您还可以延长EPStatementObjectModel类(因为它不是最终的)并将所有 getter 和 setter 包装在您自己的 setter/getter 方法中。在这种情况下,您可以自由地向类添加一些字段,例如唯一标识符。使用这种方法使您能够利用注释。在EPStatementObjectModel的地方使用从数据库检索的实体将很容易。需要对象(向上转换),不幸的是仍然存在EPStatementObjectModel对象将变得更加困难,因为您必须在子类中转换它们(向下转换) - 因此最好实现像复制构造函数这样的东西。

关于java - 持久化基类不是@Entity的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24711156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com