gpt4 book ai didi

java - Eclipselink JPA 实体类必须是公共(public)的吗?

转载 作者:行者123 更新时间:2023-12-01 17:53:07 26 4
gpt4 key购买 nike

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

我似乎发现,当我将类标记为私有(private)时,一切都会失败。但是,如果我将它们标记为 protected ,则 LAZY 加载将失败,而 EAGER 则可以正常加载。这是文档中某处的既定规则,还是有时有效?

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

最佳答案

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

Entity Class Requirements

A portable JPA entity class:

  • should be a top-level class (i.e. not a nested / inner class).
  • should have a public or protected no-arg constructor.
  • cannot be final and cannot have final methods or final instance variables.

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

关于java - Eclipselink JPA 实体类必须是公共(public)的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782797/

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