将 Protobuf 消息持久保存到数据库

2024-06-23

保存使用 protobuf3 定义的数据的正确方法是什么?我使用 golang 和 Java,两者都支持 ORM。在 java 中使用 Hibernate,在 golang 中使用 gorm。这两个地方我都需要将生成的代码转换为相应的实体模型。我觉得维护相同的对象结构以便 ORM 可以理解是更加痛苦的。是否有任何数据库可以与 protobuf 对象一起使用。或者我可以在 protobuf 本身中定义对象之间的关系。

任何帮助真的很感激。


对于这个问题有一个不直接的解决方案。

Protobuf 3 标准化JSON 映射 https://developers.google.com/protocol-buffers/docs/proto3#json对于消息。将消息序列化为 JSON 后,您可以选择多种方式将其存储在数据库中。

以下(以及更多)数据库可以存储 JSON 数据:

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

将 Protobuf 消息持久保存到数据库 的相关文章

随机推荐

  • Unix grep 正则表达式包含“x”但不包含“y”

    我需要一个用于 unix grep 的单遍正则表达式 其中包含 alpha 但不包含 beta grep alpha lt gt grep v beta 这里的其他答案展示了一些可以扭曲不同种类的正则表达式来做到这一点的方法 尽管我认为答案
  • CSS 文本的宽度过渡不起作用

    我有一个 div 我想在其中显示一个人的名字 我只想在正常状态下显示该人的名字 当您将鼠标悬停时 姓氏应出现在名字的右侧 其宽度从 0 扩展到正常宽度 所有这些文本都右对齐 如果我将过渡应用于姓氏范围 它甚至不会显示 我还尝试了 max w
  • 列的总和值。循环依赖

    我不知道如何用语言表达 但我需要我所意识到的 随附的电子表格中有两张表 现在怎么样 和 应该怎么样 我在其他工作表中使用了这个公式 但现在它不能正常工作 ArrayFormula IF ROW A A 1 SUM INDIRECT D2 D
  • 在 less-loader 中导入全局变量

    在我的 webpack 配置中 我希望能够定义一个全局 less variables 文件 该文件将包含在每个 less 组件中 使用 sass loader 您可以提供以下选项 loaderOptions data import glob
  • 我需要一个 JQuery IP 掩码插件

    有没有好的 JQuery IP 掩码插件 我试过了屏蔽输入插件 http digitalbush com projects masked input plugin 但它不支持少于 12 位的 IP 地址 然后我尝试过meioMask htt
  • WPF:路由事件还是常规事件?

    在 WPF 中 我们有路由事件 什么时候应该使用这些来代替常规事件 路由事件具有特殊的行为 但如果您在引发事件的元素上处理事件 则该行为在很大程度上是不可见的 如果您使用任何建议的方案 路由事件就会变得强大 在公共根定义公共处理程序 组合您
  • 快速返回值 URLSession.shared.dataTask [重复]

    这个问题在这里已经有答案了 我刚刚开始编码Swift我有以下解析 JSON 的代码 func parse latitude Double longtitude Double let jsonUrlString https api darks
  • 正则表达式exec函数不能多次工作[重复]

    这个问题在这里已经有答案了 var ts 00 00 06 705 var regularExpression 0 9 0 9 2 0 9 2 0 9 3 g var parsedTs1 regularExpression exec ts
  • 如何进行 Facebook 聊天?

    我想创建一个 Android Facebook 聊天应用程序 我找到了这个开源项目 http coderrr wordpress com 2008 05 06 facebook chat api http coderrr wordpress
  • Amazon Lex 中的响应卡按钮中的超链接

    我正在尝试在 amazon lex 中制作一张响应卡 以发出一张响应卡 其中有一个可通往另一个网站的按钮 下面是我在 aws lambda python 中使用的代码 我已经在 Facebook Messenger 上发布了聊天机器人 但每
  • 如何在 ASP.NET Core Web API 中启用 BSON 序列化?

    我是 ASP NET Core 和一般网络编程的新手 我刚刚成功完成了我的第一个基于 RESTfull 设计原则的 ASP NET Core Web API 它当前使用 JSON 序列化来发送响应 Visual Studio 默认值 但我想
  • Pandas 绘制 Timedelta 系列,在选定时间带有垂直线

    我有一个与此非常相似的问题 Pandas 绘制时间序列 在选定日期处带有垂直线 https stackoverflow com questions 21488085 pandas graphing a timeseries with ver
  • EF CF:带有附加信息的多对多关系

    我们有遗留数据库 并将新对象和道具映射到旧表和列 到目前为止 一切都很好 我们有已成功映射的多对多关系 中间表包含附加数据 当我们尝试将中间表映射到对象时 我们会得到映射已定义的异常 如果我们从关系的任何一侧删除映射 我们都会收到表丢失的错
  • NSCollectionView 拖放:大多数委托事件未被调用

    我有一个 NSCollectionView 绑定到一个 NSArrayController 我想让拖放工作 所以我创建一个委托并实现方法 BOOL collectionView NSCollectionView collectionView
  • 允许 DialogFragment 的外部触摸

    我有一个Fragment在我的应用程序中显示DialogFragment 我在片段中有一个关闭对话框的按钮 但是 当我显示dialogFragment时 对话框外部的触摸不起作用 并且我无法单击对话框片段外部的按钮 如何允许 DialogF
  • 如何使用符合“Hashable”协议的 ForEach

    您好 我有一个关于确认协议 Hashable 的问题 实在是太烂了 这是我的模型 struct Page Decodable Identifiable var id String var name String var thumbnail
  • Ember-data和MongoDB,如何处理_id

    我正在将 ember data 与 Rails 和 MongoDB 一起使用 并且在 MongoDB 中的 id 字段中存储 ID 的方式遇到问题 Ember data 将使用 id 作为 ID 的默认字段 所以我尝试像这样覆盖它 App
  • 为什么 J2ME 不能创建递归目录?

    我想创建recursive目录 例如 Connector open file Phone folder 1 folder 2 Connector READ WRITE 问题是两个folders 这里的folder 1和folder 2没有明
  • 在库中实现 Javascript 链接的最佳方法

    我正在创建一个 JavaScript 库 我一直在尝试实现链接 0 我首先想到的是 function V p return add function addend return V p addend sub function subtra
  • 将 Protobuf 消息持久保存到数据库

    保存使用 protobuf3 定义的数据的正确方法是什么 我使用 golang 和 Java 两者都支持 ORM 在 java 中使用 Hibernate 在 golang 中使用 gorm 这两个地方我都需要将生成的代码转换为相应的实体模