JPA 枚举 ORDINAL 与 STRING

2024-04-23

可以使用以下任一方式在 JPA 中定义枚举

@Enumerated(EnumType.ORDINAL)

or

@Enumerated(EnumType.STRING)

我想知道这两个定义的优点和缺点是什么?

我听说 ORDINAL 在 EclipseLink 中比 STRING 表现更好(更快)。
真的吗?


我总是去STRING.

速度很少不是最重要的问题 - 可读性和可维护性才是最重要的more重要的。

I use STRING因为手动检查数据库中的行要容易得多,但更重要的是,我可以做两件事,而无需接触数据库,ORDINAL无法处理:

  1. 我可以改变order我的枚举
  2. I can insert枚举列表中间的新枚举

这两个更改都会改变数据库中已使用的枚举的序数值,从而在您使用时破坏现有数据ORDINAL.

如果更改枚举值(不常见),处理它很简单:

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

JPA 枚举 ORDINAL 与 STRING 的相关文章

随机推荐

  • 从 Guzzle 捕获 cURL 错误

    我有以下代码发出 Guzzle 4 1 请求 client new GuzzleHttp Client defaults headers User Agent gt userAgentString retry 0 do try return
  • 另一个日期时间问题

    我目前有一个这种格式的日期 2010 03 03 10 39 18 这是一个TIMESTAMPMySQL 中的字段 我需要为名为 Solr 的搜索引擎提供以下格式的日期 1995 12 31T23 59 59Z 以下是他们网站上有关日期的一
  • 服务资产发展非常缓慢

    我有一个带有默认资产管道的标准 Rails 3 Web 应用程序 突然之间 资源需要很长时间才能加载 我的页面加载时间从约 1 2 秒到约 1 分钟 服务器响应时间 home 正常 但某些 css 和 js 文件等待时间很长 长达 45 秒
  • Python Socket - 同时发送/接收消息

    基本上我一直在使用套接字和线程开发一个简单的聊天室 在我的客户端中 我可以接收和发送消息 我的问题是循环中一个消息先于另一个消息 所以如果我发送消息 我只会在发送消息后收到数据 我希望它像任何其他聊天室一样工作 当我发送消息时我可以收到消息
  • YouTubePlayerSupportFragment 不播放视频

    我有一个包含两个片段的 Activity 就像 YouTube 应用程序一样 YouTubePlayerSupportFragment 播放视频的半宽度 ListFragment 包含视频标题列表的列表 如 youtube 活动一启动 我就
  • 使用谷歌位置API在android中的onMapReady中获取当前位置

    我试图在我的应用程序内的谷歌地图上显示用户的当前位置 但我不想在用户移动时不断更新位置 应记录并显示他的初始位置 直到他关闭应用程序 我为此编写了以下代码 private GoogleMap mMap protected GoogleApi
  • WebApi 强制操作返回 xml

    我有这个动作 public IHttpActionResult SearchFor int aboItemType DTO FilterColumns filter Do stuff return Ok
  • 单页中可以有多个 html、head 和 body 元素吗

    我有多个页面被合并到一个页面中 其中一些单独的页面有自己的 html head 和 body 元素 拥有这些会对页面的性能产生不利影响吗 FireBug 中的 DOM 似乎是正确的 每个元素只有一个 第一 不要这样做 浏览器是very如果涉
  • 闪亮的 R 操作按钮控制反应元素

    不确定我是否应该使用这个术语 基本上 我有一个反应函数 可以显示用户上传的 CSV 文件 我想使用action button触发情节生成过程 此时此刻 情节总是即时生成的 所以我想知道 在renderPlot函数 如何让action but
  • 基于类的通用 UpdateView 内联

    我有以下型号 class Cv models Model name models CharField name max length 250 objective models CharField objective max length 2
  • 删除 Windows 窗体中的标题栏

    如何删除窗口窗体顶部的蓝色边框 我不知道它的确切名称 您可以设置属性FormBorderStyle对于设计师中的任何一个人来说 或者在代码中 this FormBorderStyle System Windows Forms FormBor
  • 在 Windows 上通过 pip 使用 fastmath(gmp 或 mpir)构建 PyCrypto

    我通过 pip 在 Windows 上安装了 PyCrypto 但无法构建 Crypto PublicKey fastmath 因为找不到 GMP 我知道有一个二进制版本虚空 http www voidspace org uk python
  • 如何在调度代码时自动选择R中googlesheets4中的预授权帐户?

    我试图弄清楚自动允许 googlesheet4 包选择我的预授权帐户来下载特定谷歌表格的方法是什么 例如 我想每天运行以下一次 library googlesheets4 delta lt read sheet https docs goo
  • 找出这样一座塔中尽可能多的人

    首先我们看一下问题 马戏团正在设计一种塔式表演 由人们站在彼此的塔顶上组成 肩膀 出于实用和美观的原因 每个人都必须比他或她下面的人矮且轻 给定马戏团中每个人的身高和体重 编写一个方法来计算最大可能的人数 在这样的一座塔里 EXAMPLE
  • React.lazy() 与 Typescript

    我收到错误 Element 类型中缺少属性 default 但类型中需要属性 default 默认 组件类型 ts 2322 React lazy gt import i18n locales this props lang then o
  • 使用 corona sdk 验证电子邮件地址

    在我的项目中 有一个供用户填写详细信息的表单 其中有一个文本字段用于输入用户的电子邮件 ID 所以我需要在 corona 项目中验证该文本字段中的电子邮件 试试这个正则表达式 local email email protected cdn
  • ImportError:无法从“tensorflow.python.keras.engine”导入名称“network”

    尝试使用 anaconda 环境导入在 Tensorflow 2 3 0 上运行的 tf agents environments 时出现此错误 尝试重新安装tensorflow 仍然出现同样的错误 以管理员身份运行 jupyter 笔记本
  • Maven:经常从远程存储库下载元数据 xml 文件

    我正在使用 Maven 来处理 Java 项目 我认为只有在第一次编译时才需要互联网连接来从远程存储库下载所需的库 但每当我编译代码时 我都会收到几条下载消息 像这样的消息 Downloading http repo maven apach
  • CSS:将“float:right”元素移动到顶部(与列表的第一个元素对齐)

    我有一系列元素 最后一个元素有 css float left 我想将其显示在与第一个元素相同的高度 而不是显示在列表的底部 我无法更改 html 代码 因此它是列表中的最后一个 同时 我想将其保留在右侧 我怎样才能用CSS制作它 thank
  • JPA 枚举 ORDINAL 与 STRING

    可以使用以下任一方式在 JPA 中定义枚举 Enumerated EnumType ORDINAL or Enumerated EnumType STRING 我想知道这两个定义的优点和缺点是什么 我听说 ORDINAL 在 Eclipse