我正在处理一个 java/postgres 项目,其中一个数据库表包含一个相当复杂的复合类型。该项目使用 Ebean 进行 O/R 映射,我正在尝试将 ebean 类映射到相关表。经过一番挖掘,我得出的结论是,我基本上有两种选择:
- 自定义 Ebean 使用数据库来填充/保留类型的方式(类似于 hibernate 的 UserType),但我还没有找到在 Ebean 中执行此操作的方法
- 使用 Postgres 的对象文字符号将数据作为文本传输到数据库或从数据库传输数据,但是我无法为该符号实现解析器和序列化程序,因为我找不到它的规范 - postgres 文档仅涉及简单介绍一下主题
我是不是遗漏了什么,或者这根本不可行?
谢谢
最佳答案
对象字面量基本上是:
(csv-data)
数组文字基本上是:
{csv-data}
所以基本上您可以使用 csv 生成例程并用圆括号或方括号将它们括起来...另一方面,您可以将它们去掉,然后使用 csv 解析器将数据拉回。 CSV 也可以适当嵌套,并且适用双引号规则。
我没有用 Java 做过,但我用 Perl 做过。
关于java - 解析 postgres 对象文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20070295/