hibernate ManyToMany 与可连接的顺序

2024-04-02

我有以下数据库设置:

T_PARTICIPANT_MOVEMENT      
ParticipantMove_SID     BigInt        PK
Participant_SID         BigInt        FK
MoveType_SID            BigInt        FK
MoveReason              Varchar(255)    
is_Ops                  Bit 
Order                   Integer

T_LEG       
Leg_SID             BigInt      PK
StartRegion_SID     BigInt      FK
EndRegion_SID       BigInt      FK
PlannedStartDate    Datetime    
PlannedEndDate      Datetime    


TJ_PMOV_LEG
Leg_PMov_SID         BigInt    PK
Leg_SID              BigInt    FK
ParticipantMove_SID  BigInt    FK
Order                Integer   

小说明:一个参与者有多个 ParticipantMovements,其中包含移动的顺序。

这些腿来自运输机,该运输机将执行不同的腿,例如从布鲁塞尔飞往巴黎(第1条腿)然后从巴黎飞往纽约的飞机 (第 2 段)和从纽约返回布鲁塞尔(第 3 段)。

我们可以让参与者进入每个起点并退出每个终点。
示例:参与者 1 飞航段 1(顺序 1)和航段 2(顺序 2)。
另一个将飞航段 2(顺序 1)和航段 3(顺序 2)。
除了让每个参与者的顺序正确之外,最逻辑的是将顺序放入 joinTable 中。

我不必查看 Java 中的顺序,但我需要保持它正确并以正确的顺序检索列表。

这是唯一的解决方案还是我也可以有一个按正确顺序排列的列表(以及如何正确保留它)? :

参与者移动:

@OneToMany @JoinTable(name="TJ_PMOV_LEG")
@MapKeyColumn(name"order")
private Map<Integer,Leg> getLegs()

Leg :

@OneToMany @JoinTable(name="TJ_PMOV_LEG")
@MapKeyColumn(name"order")
private Map<Integer,ParticipantMove> getMoves()

您可以使用@OrderColumn指数。它将保留在您的连接表中,索引与 ArrayList 或任何其他列表中的索引相同。它将保持列表的顺序。

@OneToMany 
@JoinTable(name="TJ_PMOV_LEG")
@OrderColumn(name="order_idx")
private List<Leg> getLegs()

您还可以使用 @OrderBy 注释在某些列上对集合进行排序。 IE。

@OneToMany 
@JoinTable(name="TJ_PMOV_LEG")
@OrderBy(value="lower(Order) asc") //"Order" is column name form T_PARTICIPANT_MOVEMENT table
private List<ParticipantMove> getMoves()

最后一个会将 order by 子句附加到您的 sql 查询中。

希望能帮助到你。

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

hibernate ManyToMany 与可连接的顺序 的相关文章

随机推荐

  • 具有 1 亿个节点的图中的连接组件

    我正在尝试获取具有 1 亿个节点的图中的连接组件列表 对于较小的图 我通常使用连接组件 http networkx lanl gov reference generated networkx algorithms components co
  • 在Android应用程序中读取本地压缩XML文件(gzip)

    我不知道如何获得InputStream 读取gzip压缩的本地xml文件 从本地存储gzip xml file 员工 gz 如果有人可以帮助我真的很感激 谢谢 此链接适用于 zip http techdroid kbeanie com 20
  • Visual Studio 构建工具 2017 中缺少 vs_buildtools.exe

    I 已安装 https www visualstudio com downloads 使用链接 位于底部的 其他工具和框架 下 安装 Visual Studio 构建工具 2017 安装两个工作负载 Visual C 构建工具和 Web 开
  • Google Sheet 根据单元格值进行保护

    我在一个 google 工作表文件中有大约 30 个选项卡 所有这些选项卡都具有相同的结构但数据不同 我想要一个根据值锁定 保护 整个工作表的脚本 该值被定义为范围 如果该值是 已审核 我想锁定选项卡 单元格位置 A5 单元格值 已审核 f
  • 如何在 Flex 中使用两个表达式(case)编写内联条件语句?

    我如何用两个表达式 case 在Flex中编写内联条件语句 like text expression expression2 true false Flex编译器只检查第一个表达式并代表给出结果 但我想检查语句并显示结果 如果不满足任何条件
  • 如何在多线程应用程序中使用 StackExchange.Redis IDatabase 对象?

    我从 StackExchange Redis 文档中收到有关如何使用 IDatabase 的混合消息 在里面基本使用文档 https github com StackExchange StackExchange Redis blob mas
  • SQL Group By - 从单列生成多个聚合列

    我想按公司和日期进行分组 并为 2 个单独的值 Flag Y 和 Flag N 生成计数列 输入表如下所示 Company Date Flag 001 201201 Y 001 201201 N 001 201202 N 001 20120
  • 使用 Paypal IPN 订阅

    我正在使用 Paypal IPN 添加订阅到网站 效果非常好 我可以成功创建新订阅并验证它 该订阅有两周的免费试用期 不幸的是 该指南对订阅状态的描述有点含糊 目前 一旦收到 subscr signup 或 subscr payment 用
  • 什么会导致 Java 在 System.exit() 之后继续运行?

    我有一个 Java 程序 正在通过以下方式启动ProcessBuilder来自另一个 Java 程序 System exit 0 是从子程序调用的 但对于我们的一些用户 在 Windows 上 java exe与子进程关联的进程不会终止 子
  • Visual Studio 2015 项目缺少所有引用

    从今天开始 一个属于有20个项目的解决方案的WPF项目 将我的所有引用设置为缺失 我刚刚检查了 MS 的建议和 Stackoverflow 上的其他答案 但没有一个起作用 我尝试从 SVN 重新获取解决方案 但没有运气 其他同事没有遇到这个
  • 如何修复:致命异常:main android.os.NetworkOnMainThreadException [重复]

    这个问题在这里已经有答案了 我在 android 版本 18 上运行我的代码时遇到问题 我已经使用了 AsyncTask 但仍然收到错误 请帮助 我是编程新手 所以请原谅我的错误 package com example androidhiv
  • 提取 git 提交中更改的所有文件

    我需要为某人制作一个补丁 他们没有使用 git 由提交更改的文件的 zip 我想像 git archive format zip commitguid gt myfiles zip 但这会提取整个内容 而不仅仅是更改的文件 有什么办法可以做
  • 如何使用 Cocoa UI 制作 Java 应用程序?

    我必须在项目中使用 Java API 但由于我不喜欢 Java UI 并且我有一台 Mac 所以我想围绕 Java 代码构建一个本机 Cocoa 应用程序 我知道 Xcode 曾经为此类事情提供直接支持 但由于它不再提供 那么最好的方法是什
  • 在android webview中全屏播放HTML5视频

    好吧 我已经搜索了几天了 如何在 android WebView 上以全屏模式显示 HTML5 视频 我设法在我的网络视图上播放 HTML5 视频 以全屏模式显示视频时会出现问题 正如我所发现的 android 有两种处理 标签的方法 在
  • 将 Canvas 内容导出为 PDF

    我正在使用 HTML5 Canvas 做一些事情 一切都工作得很好 除了现在 我可以使用 Canvas2image 将画布内容导出为 PNG 但我想将其导出为 PDF 我做了一些研究 我很确定这是可能的 但我似乎无法理解我需要在代码中更改什
  • 网络共享的锁定行为有所不同

    我一直在尝试锁定文件 以便其他克隆服务无法访问该文件 然后我读取该文件 完成后移动该文件 通过使用允许移动FileShare Delete 然而 在后来的测试中 我们发现如果我们正在查看网络共享 则这种方法不起作用 我知道我的方法可能不是最
  • iPhone/iOS自定义控件

    我想知道如何从头开始创建自定义 iPhone 控件 或者使用现有的库或框架 我已经看到了 Three20 库 以及 Tapku 和 Touch Customs 它们对于专门的 iOS 控件 例如表格视图等 非常有用 但我在这里讨论的是制作完
  • Laravel - 如何设置 morphOne 关系

    我正在尝试为类别实现一个可变形表 现在我有以下内容 Snippet Table id title body Post Table id title body Category Table id name 我希望能够将帖子和片段改为只有一个类
  • 2038 年问题 - 64 位(Linux 操作系统、php、mysql)[重复]

    这个问题在这里已经有答案了 select unix timestamp 2038 01 19 回报2147472000 while select unix timestamp 2038 01 20 回报0 我查了一下年份2038问题 我的l
  • hibernate ManyToMany 与可连接的顺序

    我有以下数据库设置 T PARTICIPANT MOVEMENT ParticipantMove SID BigInt PK Participant SID BigInt FK MoveType SID BigInt FK MoveReas