Hibernate EnVers 中的 @NotAudited 和 RelationTargetAuditMode.NOT_AUDITED 有什么区别?

2023-12-25

@NotAudited
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
@OneToMany(mappedBy = "booking")
@OrderBy("bookingOrder")
private List<CustomerBooking> customerBookingList = new LinkedList<CustomerBooking>();

为什么同时使用两者?两者都用好还是一个就足够了?


当您根本不希望审核值/关系时,请在字段上使用 NotAudited。我相信您可以在有或没有关系的字段上使用它,例如 OneToMany、ManyToMany 或只是 Column。如果您希望审核关系字段的值而不是关系另一端的实体,请在关系字段上使用 RelationTargetAuditMode.NOT_AUDITED。例如,您希望审核 ID/键值,而不是相关表。

您还可以将 RelationTargetAuditMode 应用于整个类,我相信这只是说类中的所有关系都不要审核另一端。这让我很困惑,因为我错误地使用这个注释来表示不要审核下面的实体,这不是它的意思。如果您不希望对实体进行审核,则根本不要在实体类上添加审核注释。在引用实体的其他审核实体上,您必须对关系字段使用 NotAudited 或 RelationTargetAuditMode.NOT_AUDITED。

官方文档关于这个主题不是很好(http://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch15.html http://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch15.html),甚至根本没有提到 NotAudited。

在我过去的项目中,我需要审核一组非常特定的表而不是其他表,因此我需要使用这些注释。我与一些经过审计的实体与一些未经审计的实体有外键关系。我经常使用 RelationTargetAuditMode.NOT_AUDITED 注释,以便至少审核外键值/ID,而不是关系另一端的实体。如果没有此注释,您将收到运行时异常,其中 ENVERS 尝试将审核记录插入到非审核实体的审核表中,并且该表将不存在。我对一些不需要审核的 ManyToMany 连接表关系使用 NotAudited 注释,并且审核的实体表本身没有任何内容可记录(没有外键 ID/值)。

哦,是的 - 文档没有说明如果您同时使用两者会发生什么(不确定哪一个具有优先级),但我不认为在给定字段上同时使用两者是有意的。使用其中之一。

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

Hibernate EnVers 中的 @NotAudited 和 RelationTargetAuditMode.NOT_AUDITED 有什么区别? 的相关文章

  • Java中RandomAccessFile的并发

    我正在创建一个RandomAccessFile对象通过多个线程写入文件 在 SSD 上 每个线程都尝试在文件中的特定位置写入直接字节缓冲区 并且我确保线程写入的位置不会与另一个线程重叠 file getChannel write buffe
  • H.323,如何制作一个没有媒体的简单环。该脚本遵循 Q.931 设置,但仍然无法正常工作

    谁能帮我解决这个问题吗 当我发送此请求时 我在wireshark中看到数据包将发送到1720 tcp端口中的SJPhone 但 SJPhone 仍然没有响铃 我想让它响起 无论媒体 我非常感谢您的支持 我一定缺少消息协议细节来实现这个 请给
  • Java中的文字赋值[重复]

    这个问题在这里已经有答案了 定义上有什么区别 double example 23 1d or double example 23 1 为什么long float double可以以l f d结尾 之间没有区别double example 2
  • jpa2 CriteriaBuilder order by “ORDER BY 表达式必须出现在选择列表中”

    我正在写一个查询标准生成器 但无法添加order by子句 因为它随消息一起抛出错误ORDER BY 表达式必须出现在选择列表中这是我的实体 public class A Integer aId ManyToOne JoinColumn n
  • 如何将抽象工厂与单例模式结合起来? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在用 java 编码 并且对这些模式很陌生 谁能给我一个也使用单例的工厂抽象的例子 这是一个实现类的示例单例模式 这个实现也是线程安全
  • ResultSet:通过索引检索列值与通过标签检索

    使用 JDBC 时 我经常遇到这样的结构 ResultSet rs ps executeQuery while rs next int id rs getInt 1 Some other actions 我问自己 以及代码作者 为什么不使用
  • 从字符串生成密钥?

    我需要从字符串生成一个密钥 以便我始终可以从同一字符串创建相同的密钥 具体来说是一个Key对象 这样我就可以用它来创建Cipher进而创建SealedObject 这在 Java 中可行吗 我应该考虑什么类 方法组合才能做到这一点 对于 A
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • EMF Eclipse:带有自定义字段(属性)的枚举

    好吧 在 Java 中这是可能的 import org eclipse emf common util Enumerator public enum MyEnum implements Enumerator LITERAL1 0 Name
  • 如何在 Java 中使用 StringUtils?

    我是 Java 初学者 我想用StringUtils replace但 Eclipse 输出 StringUtils cannot be resolved I tried import java lang 但它不起作用 java lang不
  • 强制 Java 最低版本以“java -version:”运行在 Windows 上不起作用

    我想强制应用程序运行的 JVM 最低版本为 1 6 或更高版本 即 1 6 我的理解是 您可以使用 version 命令行参数来执行此操作 我尝试了一下 在Linux下似乎可以正常工作 但在Windows下却不行 LINUX 我在 Linu
  • 在java中将DataURL图像转换为图像文件

    我在我的 java servlet 中接收图像 DataURL 它看起来像 data image jpeg base64 9j 4AAQSkZJRgABAQAAAQABAA 我需要将其另存为图像文件 我该怎么做 The simplest w
  • spring mvc 跟踪引用页面

    在基于注释的弹簧控制器中 如果用户正在url com first page并点击一个链接或提交一份表格指出url com second page 如何制作second page知道url of first page所以这样second pa
  • 如何使用 Selenium 中的索引切换到窗口

    由于selenium不提供切换到窗口 多个窗口 的方法 但我想使用index html自定义方法来切换到不同的窗口 但下面的代码没有按预期工作 请建议以下方法的最佳实施 public void switchToWindowIndex int
  • vm 参数中的 -D 是什么,它表示为什么我们必须在 vm 参数中始终指定 -D

    vm 参数中的 D 是什么 它表示为什么我们必须在 vm 参数中始终指定 D 有什么标准吗 如果是 那是什么以及指定的位置 D 设置当前运行的 java 程序可以访问的属性值 它允许程序员设置程序运行所需的值 但程序不知道这些值是什么 因此
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • 获取包中声明的所有 Java 类的名称

    我正在编写一个功能 它将有助于将类放入我的程序的某个包中 另外 我只想要子类某个类的类 我需要这些类才能调用它们的静态方法 有没有一种自动的方法来做到这一点 如果是的话 速度慢吗 如果我不清楚 我想要的是这样的 ArrayList
  • ASTParser:解析绑定后查找声明节点

    我创建了一个启用了绑定的 AST 当我稍后解析绑定时 我得到了一个有效的 ITypeBinding 但是 当我想要获取绑定的声明 Node 时 它 总是返回 null 除非 ITypeBinding 在 sourceFile 中声明 这是我
  • 获取Java中ResultSet返回的行数

    我用过一个ResultSet返回一定数量的行 我的代码是这样的 ResultSet res getData if res next System out println No Data Found while res next code t
  • 使用 PDFBox 在 Android 中创建 PDF

    我正在尝试通过我的 Android 应用程序创建 PDFPDFBoxapi 但出现以下错误 java lang NoClassDefFoundError org apache pdfbox pdmodel PDDocument 我已经将以下

随机推荐

  • 微服务中的授权 - 如何使用 ACL 实现域对象或实体级访问控制?

    我目前正在 java Spring Cloud 上构建基于微服务的系统 一些微服务使用 PostgreSQL 一些微服务使用 MongoDB REST和JMS用于通信 计划使用 SSO 和 OAuth2 进行身份验证 我面临的挑战是授权必须
  • Python 3.3 的 pyHook

    我正在使用 Python 编写一个简单的键盘记录器 我希望使用 pyHook 来捕获键盘事件 我找不到我安装的任何用于 python 3 3 的 pyHook 包 python 3 3 是否有其他模块提供类似的功能 很快谷歌就出现了这个网站
  • 如何解决 facebook new graph api 中的curlException 6问题:名称查找超时错误

    您好 我正在使用新的图形 api 在 facebook 上创建应用程序 但它给出的错误为 curlException 6 facebook php 文件中的名称查找超时 问题是相同的代码在其他服务器上运行良好并且不会给出此错误 如何解决这个
  • java.lang.IllegalStateException:迁移未正确处理表

    如何将 Room 中的空字段类型迁移为文本 现在我面临这个问题 java lang IllegalStateException 迁移未正确处理 data table 预期 TableInfo name data table columns
  • 将令牌添加到 lucene 令牌流

    我写了一个TokenFilter它在流中添加令牌 1 测试表明它有效 但我不完全明白为什么 如果有人能阐明语义 我将不胜感激 特别是 在 恢复状态 是不是意味着我们要么覆盖当前的token 要么覆盖捕获状态之前创建的token 这大致就是我
  • javascript document.write() 从页面中删除 html 并在空白页面中显示结果[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript document write 的替代品是什么 https stackoverflow com questions 4537963 javascript what are alte
  • 登录twitter总是进入回调失败方法

    没有显示错误 但是当单击按钮时 它总是会回调失败方法 互联网处于活动状态并且密钥有效 我使用调试器看到以下结果 E Twitter Invalid json
  • 使用 JQUERY 检测tinyMCE 文本区域

    在我们的一些表单上 我们将文本区域转换为tinyMCE 文本区域 如何在 jquery 中判断给定的文本区域是否已被转换 我注意到 tinyMCE 会在初始化时将原始文本区域的显示更改为无 然后使用 mceEditor 类创建相邻的跨度 但
  • 堆空间不足

    我遇到了堆空间问题 我的程序很简单 有两个参与者 发送和接收 发送 参与者每秒将 10000 个对象传递给 接收 而接收则发布这些对象 接收者收到的对象被保存在容器中 但容器每秒都被清空 所以容器不可能空间不足 现在 在 420000 个对
  • Node.js 传递变量

    我正在寻找一些经验丰富的 Node js 程序员的指导 我遇到的最大问题是将变量传递到单独的模块中 例如 在我的 server js 中 我有以下内容 var db mongoose createConnection localhost t
  • 移动 lambda:一旦移动捕获了仅移动类型,如何使用 lambda? [复制]

    这个问题在这里已经有答案了 这个答案 https stackoverflow com a 20669290 1858225解释了如何在 C 14 中移动捕获 lambda 中的变量 但是一旦你移动捕获了一个不可复制的对象 例如std uni
  • 文本环绕绝对定位的 div

    我知道有一些关于类似主题的问题 但它们主要涉及浮动 div 图像 我需要将图像 和 div 绝对定位 向右 但我只想让文本围绕它流动 如果我浮动 div 它会起作用 但我无法将其放置在我想要的位置 因为文本只是在图片后面流动 div cla
  • Ruby:将嵌套 Ruby 哈希转换为非嵌套哈希

    现在 我有一个服务器调用返回以下 Ruby 哈希值 id gt ct factualId gt outOfBusiness gt false publishedAt gt 2012 03 09 11 02 01 general gt nam
  • 为什么MIPS汇编器有多个寄存器用于返回值?

    我刚刚开始学习MIPS汇编程序并意识到有两个寄存器 http en wikipedia org wiki MIPS architecture Compiler register usage用于返回值 首先 我认为它的实现是因为有些语言可能返
  • 如何删除使用 distutils 安装的程序?

    我已经用这个 setup py 安装了一个 python 应用程序 usr bin env python from distutils core import setup from libyouandme import APP NAME A
  • 将 JPanel 导出到图像

    所以我一直在尝试将在 JPanel 上绘制的图像导出为图像 我一直在使用这个方法 BufferedImage image new BufferedImage getWidth getHeight BufferedImage TYPE INT
  • MySQL 表作为 FIFO/队列

    我们如何才能将Mysql表视为有限的FIFO缓冲区 队列 目标是 该表一次只能有 N 行 当插入一行时 应删除最旧的行以保持行数为 N 请建议方法 UPDATE 抱歉 伙计们 正如很多人指出的那样 我将问题从 STACK 更改为 FIFO
  • Maven 和 Jenkinsfile - 跳过前面的阶段

    我正在探索 Jenkins 的暂存功能 我想设计一个快速且精益的设置 基本上 Jenkins 提倡使用阶段来划分构建过程 并提供有关构建进度的良好视觉反馈 So the Jenkinsfile有点像 stage Build bat mvn
  • 如何将 HTML NSData 转换为 NSString?

    我在用着 NSData dataWithContentsOfURL 创建两个 NSData 实例 我想比较这些实例以了解它们的不同之处 由于它们都来自同一个网站 因此使用字符串查找不同之处将帮助我突出显示已更改的实际元素 是否可以将这些数据
  • Hibernate EnVers 中的 @NotAudited 和 RelationTargetAuditMode.NOT_AUDITED 有什么区别?

    NotAudited Audited targetAuditMode RelationTargetAuditMode NOT AUDITED OneToMany mappedBy booking OrderBy bookingOrder p