为什么 JPA 实体中的属性不允许“公共”?

2023-11-23

The JPA 2.0规范第 22 页说:

类的实例变量必须 是私有的、受保护的或包的 可见性与是否 字段访问或属性访问是 用过的。当使用属性访问时, 属性访问器方法必须是 公共或受保护。

为什么不允许公众访问?


对于公共字段,代理将无法可靠地工作 - 如果有人直接访问字段,那么持久性框架没有简单的方法来拦截该调用并(例如)初始化包含对象(如果它是代理) 。

如果无法进行字段访问,则可以在代理对象上生成合成 getter 方法来拦截方法调用并执行任何所需的“幕后”工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 JPA 实体中的属性不允许“公共”? 的相关文章

随机推荐

  • 引用 UWP 和 ASP.NET 5 中的类库

    我正在尝试创建一个类库 其中包含 WebAPI 使用 ASP NET 5 和消费 UWP 应用程序的常见对象 主要是 DTO 但是 我还没有弄清楚如何创建类库 以便可以从其他项目中引用它 到目前为止我已经尝试过 首先 我尝试了一个类库 包
  • 使用 axios.get 时套接字挂起,但使用 https.get 时套接字不挂起

    据我所知 我正在使用两种不同的方法做同样的事情 const https require https const axios require axios let httpsAgent new https Agent rejectUnautho
  • 如何在命名空间中使用连字符?

    我在用https packagist org packages bitdevelopment yii2 validators Yii2 中的字数验证 但我得到 gt PHP Parse Error yii base ErrorExcepti
  • 如何排除`node_modules/@types/**/node_modules`?

    我遇到过一种情况 其中的类型定义node modules types正在安装自己的 types 依赖项 并且这些 嵌套 types 与我的顶级 types 冲突 types angular v1 5 angular ui bootstrap
  • Lucene - 短语中的通配符

    我目前正在尝试使用 Lucene 来搜索索引中填充的数据 我可以通过将其括在括号中来匹配确切的短语 即 处理文档 但无法让 Lucene 通过执行任何类型的 处理文档 来找到该短语 明显的区别是末尾的通配符 我目前正在尝试使用 Luke 来
  • Perl:使用变量传递正则表达式搜索和替换

    我有一个 Perl 脚本 它读取正则表达式搜索并替换 INI 文件中的值 在我尝试使用捕获变量 1 或 1 之前 这工作正常 这些被逐字替换为 1 或 1 有什么想法可以让这个捕获功能通过变量传递正则表达式位吗 示例代码 不使用 ini 文
  • 在 Renderscript 计算中将数组传递给 rsForEach

    据我所知 我发现 RenderScript 缺乏良好的文档 forEachRS 中的方法是对分配中的每个单独项目执行 root 我正在尝试为 Renderscript 制作一个进行图像处理的库 作为起点 我达到了这个很好的答案 但问题是模糊
  • NSURLSession 和后台流上传

    我在使用时遇到一些问题NSURLSession将照片从资源库上传到服务器 首先NSURLSession不支持流式上传 我在尝试使用它时遇到了异常 property nonatomic strong NSURLSession uploadSe
  • 如何使用密钥大小和明文长度计算 RSA 密文的大小?

    我有一些明文 我想使用 RSA PKCS V21 使用 PolarSSL 库 进行加密 问题是我需要在执行算法之前知道密文的大小 用于动态内存分配目的 我知道 RSA 密钥大小和明文长度 我还想知道输入明文长度的限制 任何想法 只需检查RS
  • Unicode 与实体框架

    我有一个带有 nvarchar 字段的表 MS SQL Server 2008 R2 对于测试 此代码运行良好 Update Screenshots set name N where id 230246 现在我创建了实体框架模型 我已将 U
  • Elisp 中的 CGI 编程?

    有人为 elisp 编写过 CGI 编程库吗 我快速拼凑了第一个脚本 然而 我只是一个长期的 emacs 用户 我从来没有真正编写过它 当我看到我可以在 emacs 而不是 bash 中编写脚本 script 时 我想我应该尝试一下 usr
  • 如果用户提交表单,则不要询问确认

    我使用以下 JavaScript 代码来警告用户 如果他尝试重定向到另一个页面而不提交表单 window onbeforeunload function return Are you sure that you want to leave
  • servicePrincipalName 应该具有什么值?

    我正在尝试在我的服务上设置客户端模拟 我需要为我的服务端点的 servicePrincipalName 设置一个值 我正在看这个MSDN 文章但还是不太明白 我的服务托管在我们称为 ServerName1 的服务器上的控制台应用程序中 乌里
  • 类型的打字稿扩展运算符[重复]

    这个问题在这里已经有答案了 我正在尝试定义一种类型 该类型获取函数类型作为泛型参数 并返回一个与输入函数类型相同的函数类型 只是它最后还有一个参数 type AugmentParam
  • java.lang.NoClassDefFoundError:无法初始化类 sun.nio.ch.FileChannelImpl

    我正在开发一个执行的应用程序Jython 2 5 3脚本来自JAVA 1 6 027 该脚本只是使用编解码器库打开一个文件 如下所示 try from codecs import open as codecs open except Imp
  • 以正确的方式避免循环依赖 - NestJS

    说我有一个StudentService一种为学生增加课程的方法LessonService使用一种将学生添加到课程中的方法 在我的课程和学生解决程序中 我希望能够更新本课程学生关系 所以在我的LessonResolver我有一些类似的事情 a
  • 在 VS Code 控制台中调试 JavaScript

    如何在 VSCode 控制台中快速测试 JavaScript 如下图所示 我必须安装扩展才能执行此操作吗 我在 Ubuntu 和 Windows 10 中使用 VSCode 但我没有看到Console 我所看到的只是调试控制台 Proble
  • 这个带有可变引用参数的 JavaScript 函数是纯函数吗?

    我有同样的问题this one 但是在 JavaScript 的上下文中 From 维基百科 纯函数 的返回值与same论据 那里进一步声称 纯函数不允许使用 可变引用参数 来改变返回值 在 JavaScript 中 每个普通对象都作为 可
  • 将简单套接字变成 SSL 套接字

    我编写了简单的 C 程序 它们使用套接字 客户端 和 服务器 UNIX Linux 用法 服务器端简单地创建一个套接字 sockfd socket AF INET SOCK STREAM 0 然后将其绑定到 sockaddr bind so
  • 为什么 JPA 实体中的属性不允许“公共”?

    The JPA 2 0规范第 22 页说 类的实例变量必须 是私有的 受保护的或包的 可见性与是否 字段访问或属性访问是 用过的 当使用属性访问时 属性访问器方法必须是 公共或受保护 为什么不允许公众访问 对于公共字段 代理将无法可靠地工作