用于获取整棵树的 JPA 查询

2023-11-26

我有一个类对所有类别进行建模,并且它们可以按层次结构排序。

@Entity
@Table(name="categories")
public class Category {
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sequence")
    @SequenceGenerator(name="sequence", sequenceName="categories_pk_seq", allocationSize=1)
    @Column(name="id")
    private Long id;

    @Column
    private String name;

    @OneToOne
    @JoinColumn(name="idfather")
    private Category father;

}

我需要按层次结构排序所有类别(我的意思是每个父亲后面跟着其孩子,父亲在每个级别上按字母顺序排序),因为它们可以例如在 oracle 中使用 PRIOR 来制作。是否可以使用 JPA 查询(而不是 SQL 查询)来完成此操作?

Thanks.


简短的回答是;不,没有标准方法可以做到这一点。

您必须使用本机 sql。

您也许能够扩展 Oracle Hibernate Dialect 并添加一些用户函数/扩展以使 hibernate 生成 PRIOR 或 CONNECT BY 子句,但这将阻止您的应用程序严格独立于 JPA 和数据库。

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

用于获取整棵树的 JPA 查询 的相关文章

  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • org.springframework.validation.BeanPropertyBindingResult异常

    嗨 我是 spring 框架的新手 我做了一个小例子 我尝试使用 spring 验证 api 验证我的输入字段 这是代码 RequestMapping value applicationFormSubmit method RequestMe
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 禁止的软件包名称:java

    我尝试从数据库名称为 jaane 用户名 Hello 和密码 hello 获取数据 错误 java lang SecurityException Prohibited package name java at java lang Class
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • simpleframework,将空元素反序列化为空字符串而不是 null

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

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的

随机推荐

  • 在javascript中将对象移向一点[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我为此在数学上苦苦挣扎 我需要将一个物体均匀地移向一个点 我在 x 500 y 250 处有一个点 在 0 0 处有一个对象 如果移动速度为 1 我将如何计算出要获得该点 我需要以
  • 如何按 POJO 属性降序对列表进行排序?

    我有这样的 POJO 类学生 class Student private int score private String FirstName Getters and setters 我正在像这样创建 ArrayList public st
  • 在富文本框中创建换行符

    我需要帮助为 RichTextBox 创建新行 但在使用 CheckBox 时我无法使用它 它保持重叠而不是创建新的单词行 尝试使用的方法rtbdisplay text display envrionment newline 我的代码中的示
  • 如何在Java中显示树形层次结构?

    我的数据库中有一个名为 Process 的表 该进程表有3个字段 进程号 进程名 进程父进程id 现在我想以图形格式显示这个父子层次结构 那么您能否向我提出以下建议 Q1 为了从数据库获取数据并将数据存储在该数据结构中 哪种数据结构更好 Q
  • 如何在 IE 中使用 JQuery 隐藏和显示 SELECT 选项

    我试图从下拉列表中隐藏一些选项 jQuery 的 hide and show 在 Firefox 和 Chrome 中工作得很好 但在 IE 中就不那么幸运了 有什么好主意吗 根据浏览器检测隐藏和显示选项 在许多可能的方法中 此方法需要浏览
  • Mysql 表名不能大写

    我需要更改 mysql 接受大写和小写表名 select from users 上面的查询工作正常 但下面的查询不起作用 select from USERS 这取决于您的系统 主要值是 Unix Windows 和 Mac OS 您需要将系
  • firebase 消息服务可以 android:exported="false" 吗?

    想确认是否可以设置android exported false 例如 ID 服务和消息服务 我通过保持测试android exported false 和通知工作正常
  • param: _* 在 Scala 中意味着什么?

    作为 Scala 2 9 1 的新手 我有一个List Event 并想将其复制到Queue Event 但以下语法会产生Queue List Event 反而 val eventQueue Queue events 由于某种原因 以下工作
  • 了解 iBeacon 数据:功率字段和其他字节

    我是蓝牙系统的新手 我正在尝试了解新的苹果技术 iBeacon 使用的数据 已经有一些很好的答案解释了它是如何工作的 我一直在阅读我能找到的所有内容 特别是蓝牙规范 尽管如此 我仍然遗漏了一些要点 我将首先举一个例子 我正在使用设置广告数据
  • 如何在linux中使用cx_freeze创建要在windows中使用的包

    如何在 Linux 中使用 cx freeze 创建一个可在 Windows 中使用的包 如 exe 或 bin 文件 我在 Linux 中测试了 cx freeze 但在 Linux 和 Windows 中制作软件包是未知的 例如 cxf
  • 将 VB.NET Winforms 应用程序移植到 C#

    是否有任何 好的 资源可将 VB NET winforms 应用程序移植到 C 我确信有软件可以翻译代码 但我希望同时重构代码 保持当前的形式是有问题的 因为它使用了 VB NET 允许的一些 不良设计 实践 并且会使未来的维护进一步复杂化
  • 如果 chrome 开发工具打开,AJAX 可以工作,但如果 chrome web 工具关闭,AJAX 就不行?

    我正在通过 ajax 加载 json 文件 如果 Chrome 开发工具打开 一切都会完美运行 如果 Chrome 开发工具关闭 则会失败 值得庆幸的是 即使关闭时 开发工具仍然会继续做它的事情 所以我仍然可以看到我得到的异常 Failed
  • C#:枚举中的按位运算符(MVC 中的自定义授权)

    我目前正在阅读一篇文章 但我不太明白这是如何与逻辑运算符一起使用的 谁能向我解释一下吗 例如 如果我想与客户 员工 主管和管理员建立 4 级证券 Serializable Flags public enum WebRoles custome
  • UnsatisfiedLinkError:java.library.path中没有opencv_java249

    在我的 Mac 上运行一段代码时遇到一些问题 有人给我写了一个图像分析 java 应用程序 但当我尝试在 netbeans 上运行它时 我不断收到此错误 运行 线程 主 java lang UnsatisfiedLinkError 中出现异
  • Guava 中有类似 Function Java 的 Effect 的东西吗?

    我知道纯函数式编程的目标之一是消除可变性 从而排除副作用 但让我们面对现实吧 即使存在所有函数式编程库 Java 也不是一种函数式语言 事实上 一些 FP 图书馆似乎知道并期望这一点 例如 在函数式 Java 中 有Effect班级 在 J
  • C 中带符号和无符号变量的环绕解释?

    我在 C 规范中读到了一些无符号变量 特别是无符号短int 执行一些所谓的环绕关于整数溢出 尽管我在有符号变量上找不到任何东西 除了我留下的未定义的行为 我的教授告诉我 他们的价值观也被包裹起来 也许他只是指海湾合作委员会 我认为这些位只是
  • 删除由 ::before 伪选择器添加的元素

    我有以下情况 样式是在SASS中完成的 并且省略了不必要的样式 header before position absolute height 0 5rem 这会在应用程序的菜单栏顶部创建一个栏 在某些情况下 必须删除该栏 我读过类似的问题t
  • 如何更新sql server中的前100条记录

    我想更新 SQL Server 中的前 100 条记录 我有一张桌子T1有字段F1 and F2 T1有200条记录 我想更新F1字段中的前 100 条记录 我怎样才能根据TOP 100在 SQL Server 中 注意 括号是必需的UPD
  • Spring boot可以根据属性文件的内容动态创建端点吗?

    到目前为止 我正在创建这样的端点 RequestMapping value test method RequestMethod POST public ResponseBody String indexPost HttpServletReq
  • 用于获取整棵树的 JPA 查询

    我有一个类对所有类别进行建模 并且它们可以按层次结构排序 Entity Table name categories public class Category Id GeneratedValue strategy GenerationTyp