【问题标题】:Do Eclipselink JPA Entity Classes have to be public?Eclipselink JPA 实体类是否必须公开?
【发布时间】:2017-12-12 22:44:50
【问题描述】:

如果这个问题之前已经发布过,或者信息很容易获得,我只是一个没有找到它的傻瓜,我深表歉意。我看过不少。我知道它们不能是私有的,因为 eclipselink 使用反射来实例化类。

我似乎发现,当我将课程标记为私有时,一切都失败了。 但是,如果我将它们标记为受保护,则延迟加载将失败,而 EAGER 工作正常。这是文档中某处的既定规则,还是有时会起作用?

换句话说,eclipselink jpa 实体类必须是公开的吗?如果重要的话,我将使用 derby 嵌入式数据库作为我的基础数据库。

【问题讨论】:

    标签: java jpa eclipselink derby


    【解决方案1】:

    来自http://www.objectdb.com/java/jpa/entity/types

    实体类要求

    一个可移植的 JPA 实体类:

    • 应该是顶级类(即不是嵌套/内部类)。
    • 应该有一个公共或受保护的无参数构造函数。
    • 不能是最终的,也不能有最终的方法或最终的实例变量。

    由于顶级类的可见性修饰符可以是 public 或包级别(如果未指定),答案是实体必须是顶级类,即 public 或具有包级别可见性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      相关资源
      最近更新 更多