AccessType.FIELD、AccessType.PROPERTY 和 @Access 的用途是什么

2023-11-25

我只是想知道所有这些注释之间有什么区别。为什么我们使用这些...意味着它们没有影响,尤其是字段级别和属性级别。

使用混合级别注释的目的是什么:

@Entity
@Access(AccessType.FIELD)
class Employee {
    // why their is a field level access 
    private int id;

    // whats the purpose of transient here
    @Transient                               
    private String phnnumber;

    // why its a property level access
    @Access(AccessType.property)             
    public String getPhnnumber() {
        return "1234556";
    }

}

这堂课究竟讲了什么?


默认情况下,访问类型由放置映射注释的位置定义。如果你把它们放到场上——那就是AccessType.FIELD,如果你把它们放在吸气剂上 - 它将是AccessType.PROPERTY.

有时您可能不想注释字段而是属性(例如,因为您希望在 getter 中具有一些任意逻辑,或者因为您更喜欢这种方式。)在这种情况下,您必须定义一个 getter 并将其注释为AccessType.PROPERTY.

据我记得,如果您指定AccessType.FIELD or AccessType.PROPERTY在任何实体字段/方法上,您必须指定整个类的默认行为。这就是为什么你需要有AccessType.FIELD在班级层面上(尽管AccessType.FIELD是默认值。)

现在,如果你没有@Transient on the phnnumber字段,JPA 将为您提供一个 3 列的表:

  • id,
  • 电话号码,
  • 获取电话号码。

那是因为它会使用AccessType.FIELD对于所有实体字段(id and phnnumber),同时,它会使用AccessType.PROPERTY为你的吸气剂(getPhnnumber()).
您最终将在数据库中映射两次电话号码。

因此,@Transient注释是必需的 - 这意味着该实体不会存储该值field在底层存储中,但您返回的值getter.

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

AccessType.FIELD、AccessType.PROPERTY 和 @Access 的用途是什么 的相关文章

  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • 在 Android Activity 中打开网页时出现 net::ERR_ACCESS_DENIED Android 错误 [重复]

    这个问题在这里已经有答案了 打开 Android 活动时 Android 网页显示 net ERR ACCESS DENIED 嵌入网页标签 我尝试在 Android Manifest 中提供权限
  • 如何在同一个shell中执行bash脚本

    我有一个 bash 脚本 它调用三个不同的命令 并且执行必须在一个 shell 中进行 我通过在每个命令后添加 来得到它 如下所示 CMD1 CMD2 CMD3 现在我需要的是 假设我在 MAC 机器上打开一个终端 所有命令都应该在打开的
  • 如何强制 go mod 接受声明其路径与其 go.mod 不同的模块?

    当我跑步时go mod tidy 它破坏了 因为我的项目导入的包使用路径导入了另一个包github com coreos bbolt 但是当它从此路径获取包时go mod说它的路径是go etcd io bbolt 问题是导入包和导入包都是
  • 如何以编程方式读取 MSI 文件内的属性?

    有没有办法读取里面的属性MSI file 例如 给定一个名为测试包 msi 我需要找到 productName PackageCode version 我将把它与 WMI 卸载一起使用 string objPath string Forma
  • 为什么在放弃泛型运算符时无法推断类型[重复]

    这个问题在这里已经有答案了 我读到 从 Java 7 开始 像第一个语句一样在右侧指定类型来创建集合是不好的风格 因为编译器可以从左侧推断类型 List
  • 方形拼图解决方案

    Question given an integer number n print the numbers from 1 up to n2 like this n 4 结果是 01 02 03 04 12 13 14 05 11 16 15
  • 函数调用中的 C++ 临时对象生命周期

    当我们通过原始指针或引用将临时智能指针管理的对象传递给函数时 标准是否保证该对象的生存期将延长到函数的生存期 include
  • JQuery JEditable - 如何禁用点击编辑

    我想知道您是否可以停止点击时编辑文本 我有一个单独的编辑按钮来使文本可编辑 这是我希望用户能够编辑文本的唯一方法 因此想要关闭单击编辑吗 有任何想法吗 布里特是对的 添加一个自定义事件 然后用按钮触发它 这是一些代码来解释它 自定义事件 i
  • 使用 N-API 将数据流式传输到 Node.js C++ 插件

    我正在为 NodeJS 构建一个 C 插件 我想将数据从 C 异步流式传输到 Node 我找到了这篇文章 https nodeaddons com streaming data into a node js c addon 然而 我想使用
  • Django:HttpResponseRedirect 不起作用

    我是 Python Django 和整体编程的新手 我需要有关 HttpResponseRedirect 的帮助 因为它在我的登录视图中不起作用 它确实可以在我的主视图文件中工作 但不是我想要的方式 我没有重定向到所需的页面 而是只在同一页
  • 如何在API平台上保存与实体的嵌套关系

    我有两个实体 Question and 选择其中 Question 与 Alternative 有 OneToMany 关系 我正在尝试发送带有嵌套文档的 JSON选择通过 POST 到QuestionAPI 平台 API 平台返回以下错误
  • 如何在 Dart 中逐行读取文件

    这个问题是一个问题的延续上一个问题 我编写了以下代码来确定是否File openRead 创建了一个可以逐行流式传输的 Stream 事实证明答案是否定的 读取整个文件 然后传递到下一个转换 我的问题是 如何在 Dart 中逐行流式传输文件
  • 如何在不复制数据的情况下连接 pandas DataFrame?

    我想连接两个 pandas DataFrame 而不复制数据 也就是说 我希望连接的 DataFrame 成为两个原始 DataFrame 中数据的视图 我尝试使用 concat 但不起作用 此代码块显示更改基础数据会影响连接的两个 Dat
  • 从 SQLite3 导出数据

    我需要一种简单的方法从包含多个表的 SQLite 数据库中导出数据 然后将它们导入到另一个数据库中 这是我的场景 我有 5 个表 A B C D E 每个表都有一个主键作为第一列 称为 ID 我想要一个 Unix 命令 它仅以可以导入到另一
  • 如何反序列化 Kubernetes YAML 文件

    如何将 Kubernetes YAML 文件反序列化为 Go 结构 我查看了kubectl代码 但不知何故 每个 YAML 文件都会出现错误 no kind Deployment is registered for version apps
  • Terraform EKS 标记

    我遇到了 Terraform EKS 标记问题 并且似乎没有找到可行的解决方案来在创建新集群时标记所有 VPC 子网 提供一些背景信息 我们有一个 AWS VPC 在其中将多个 EKS 集群部署到子网中 我们不会在 EKS 集群创建过程中创
  • FirebaseError:[code=resource-exhausted]:资源已耗尽(例如检查配额)

    我有一个大小为 10000 的数组 所有这些都是文档 ID 我正在运行一个数组 需要从 Firestore 获取文档数据 并且需要在每个文档中添加新字段 但我面临以下错误 例如 firebase firestore Firestore 5
  • DATETIME 值在 SQLite 中如何工作?

    我正在创建 Android 应用程序 需要保存创建记录的日期 时间 然而 SQLite 文档说 SQLite 没有为存储日期和 或时间而预留的存储类 并且它 能够将日期和时间存储为 TEXT REAL 或 INTEGER 值 使用一种类型而
  • PHP 中有比任何数字都大的东西吗?

    我需要在 PHP 中模拟 So that min number 总是 number 我想 对于整数 你可以使用PHP INT MAX 以下代码 var dump PHP INT MAX 在我的机器上给出以下输出 int 2147483647
  • AccessType.FIELD、AccessType.PROPERTY 和 @Access 的用途是什么

    我只是想知道所有这些注释之间有什么区别 为什么我们使用这些 意味着它们没有影响 尤其是字段级别和属性级别 使用混合级别注释的目的是什么 Entity Access AccessType FIELD class Employee why th