如何在JPA中反映“嵌套集”模型

2024-04-25

很好用嵌套集 http://www.evanpetersen.com/item/nested-sets.html对于分层数据。但在这个设计中,如果删除或插入一些数据,您应该始终计算右侧和左侧节点。此外,您没有任何外键。

我如何用 JPA 反映这个模型?是否可以?


我认为即使有右和左,您仍然需要 PARENT_ID,否则父/子查询将效率低下,或者我什至不确定是否可能。

您可以在应用程序/模型中或通过 PrePersist/PreUpdate/PreRemove 事件更新 RIGHT 和 LEFT 值。

另一种选择是使用分解表。为此,您只需添加使用 ManyToMany 连接表的 allChildren 关系。当您将子节点添加到任何节点时,只需将该子节点添加到其所有父节点即可。

另一种选择是仅在数据库中使用分层查询,例如 Oracle 中的 CONNECT BY 子句。

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

如何在JPA中反映“嵌套集”模型 的相关文章

  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • 如何将 Eclipse Classic 升级到 Java EE?

    我想开发 HTML5 网站 我已经安装了用于Android开发的Java 我的机器上安装了 Eclipse Classic 3 6 现在我希望在同一台机器上安装 Java EE 是否可以 如果是这样 请告诉我如何将 Eclipse Clas
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • JGit 检查分支是否已签出

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

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List

随机推荐

  • 为了让 WCF 传递大字符串,在哪里增加 maxStringContentLength ?

    好的 我已经设置并测试了一个不错的小型 WCF 服务 客户端创建一个字符串并将其传递给服务上的方法 然后服务将其保存为文件 与少量的测试数据完美配合 但是当我尝试它应该做的事情时 传递一些序列化的 net 对象 它崩溃了 并出现错误 格式化
  • 在 PHP 中打印货币数字格式

    我的页面中要显示一些价格值 我正在编写一个函数 它接受浮动价格并返回带有货币代码的格式化货币 val 例如 fnPrice 1001 01 应该打印 1 000 01 最简单的答案是number format http www php ne
  • 伊斯坦布尔封面报告对于摩卡测试是错误的(使用 Mongoose)

    我已经尝试在伊斯坦布尔为我的申请进行封面测试 一切似乎都工作正常 但有些方法被标记为未涵盖 并且我确信 由于日志 这些功能已被涵盖 这是我想测试的代码 使用 Mongoose var mongoose require mongoose Sc
  • 使用 PHPExcel 将 Excel 中的单元格按行和列合并在一起

    我需要使用以下命令按行合并 Excel xlsx 中的单元格并再次按列合并PHPExcel http phpexcel codeplex com downloads get 212184 我尝试了以下方法 sheet gt mergeCel
  • 字符串数组上的 VBA“类型不匹配:需要数组或用户定义的类型”

    我有一个全局声明的动态字符串 DMA 数组 Dim DMAs As String 我 ReDim 数组并在 CreateArrayOf 函数中为其赋值 该函数的类型为 String 返回 String 类型的数组 DMAs CreateAr
  • 我如何告诉 matplotlib 我已经完成了绘图?

    下面的代码绘制了两个后记 http en wikipedia org wiki PostScript ps 文件 但第二个文件包含这两行 import matplotlib import matplotlib pyplot as plt i
  • Android:更新后重新启动应用程序 - ACTION_PACKAGE_REPLACED

    我的应用程序不在 Play 商店中 请在网络上验证是否有新版本并下载并启动它 安装后我想重新启动应用程序并使用BroadcastRecevier with ACTION PACKAGE REPLACED 这是代码 播送 public voi
  • 分支输出 Keras

    我的模型分为 2 个输出层 如下所示 输入 gt L1 gt L2 gt L3 gt 输出1 输入 gt L1 gt L2 gt L3 gt 输出2 我这样使用它是因为我想要out1 and out2有2个不同的激活函数 因此 我创建了一个
  • D 中的特征可以用于类型类吗?

    我是 D 新手 我正在寻找一种使用类似 Haskell 的类型类进行编程的好方法 例如D 中的函子 幺半群等 Tango 或 Phobos 中是否实现了类似的功能 我听说过可以对某些属性进行编译时类型检查的特征 它们可以用于类型类吗 我尝试
  • 如何使用 git format-patch 将提交压缩到一个补丁中?

    我在一个分支上有 8 个提交 我想通过电子邮件发送给一些尚未了解 git 的人 到目前为止 我所做的一切要么给我 8 个补丁文件 要么开始为分支历史记录中的每个提交提供补丁文件 从一开始 我使用 git rebase interactive
  • 浏览器选项卡存储?

    是否有一个浏览器存储只能由创建它的页面使用 我正在制作一个 TamperMonkey 脚本来自动化我的工作 当打开来自特定域的页面时会触发它 然后 它会在所述页面中找到特定链接 同一域 并在同一选项卡中将其打开 如果新打开的页面符合条件 则
  • 在 numpy 中快速找到对称对

    from itertools import product import pandas as pd df pd DataFrame from records product range 10 range 10 df df sample 90
  • PaintComponent() 正在其他组件上绘图

    我正在使用基于中的代码的自定义类这个答案 https stackoverflow com a 16909994 5686799 绘制一个形状像讲话泡泡的背景 每当我将应用程序的窗口大小调整到足以使组件在顶部或底部突出时 该组件的轮廓就会绘制
  • 有没有办法通过 PowerShell 检测声音?

    我想检测电脑是否正在播放任何类型的声音 如果它没有播放任何类型的声音 我可以在 Powershell 中使用其他条件并执行下一步需要执行的操作 那么有没有办法通过 PowerShell 来检测声音呢 Thanks 方法一 Import Mo
  • 如何声明二维数组?

    创建二维数组的最简单方法是什么 我希望能够做类似的事情 declare int d 0 m 0 n 您还可以通过指定数组的索引来创建关联数组或类似 哈希表 的数组 array array 0 gt array name gt John Do
  • Git:切换分支时保留忽略的文件

    我知道这看起来像是重复的GIT 切换分支时如何保留被忽略的文件 https stackoverflow com questions 15552959 git how to keep ignored files when switching
  • Tomcat 组件是什么?什么是卡塔利娜和郊狼? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 谁能描述一下 Tomcat 中的组件是什么 它在 Tomcat 服务器中的作用是什么 什么是郊狼 卡塔琳娜是什么 Catalina是T
  • 奇数运算符优先级/关联性行为[重复]

    这个问题在这里已经有答案了 在 Python 2 7 中 下面的内容是怎么回事 True w in what 两者的行为都不同 True w in what and True w in what gt gt gt True w in wha
  • 当你用 mlockall 设置的内存用完时会发生什么?

    我正在开发一个需要大量内存才能批量运行的 C 应用程序 gt 20GB 我的一些客户遇到了内存限制 有时操作系统开始交换 总运行时间加倍或更糟 我读到可以使用 mlockall 来防止进程被换出 当进程内存需求以这种方式接近或超过可用物理内
  • 如何在JPA中反映“嵌套集”模型

    很好用嵌套集 http www evanpetersen com item nested sets html对于分层数据 但在这个设计中 如果删除或插入一些数据 您应该始终计算右侧和左侧节点 此外 您没有任何外键 我如何用 JPA 反映这个