我正在尝试将以下内容与spring-data-jdbc和postgres驱动程序(kotlin)一起使用,
data class MyEntity(
val id: UUID,
val content: String
)
使用字符串失败,出现以下错误,
org.postgresql.util.PSQLException: ERROR: column "content" is of type jsonb but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
Position: 31
我不知道如何使用字符串转换器-
在此帮助下,我实现了以下解决方案:
详细信息(仅伪代码):
import org.springframework.core.convert.converter.Converter
import org.springframework.data.convert.ReadingConverter
import org.springframework.data.convert.WritingConverter
import com.fasterxml.jackson.databind.ObjectMapper
import org.postgresql.util.PGobject
@Table("my_entity")
data class MyEntity(
@Id val id: UUID,
val content: MyContent
) {
@WritingConverter
class EntityWritingConverter(
private val objectMapper: ObjectMapper
) : Converter<MyContent, PGobject> {
override fun convert(source: MyContent): PGobject? {
val jsonObject = PGobject()
jsonObject.type = "json"
jsonObject.value = objectMapper.writeValueAsString(source)
return jsonObject
}
}
@ReadingConverter
class EntityReadingConverter(
private val objectMapper: ObjectMapper
) : Converter<PGobject, MyContent> {
override fun convert(pgObject: PGobject): MyContent {
val source = pgObject.value
return objectMapper.readValue<MyContent>(source)
}
}
}
不要忘记将这两个转换器添加到spring data jdbc的配置中(请参见JdbcCustomConversions)。
这适用于此相应的postgres表:
sql prettyprint-override">create table if not exists my_entity
(
id uuid not null primary key,
content jsonb
);
问题内容: 这个问题的目的是记录: 在PySpark中使用JDBC连接读取和写入数据所需的步骤 JDBC源可能存在的问题以及已知的解决方案 只要稍作更改,这些方法就可以与其他支持的语言一起使用,包括Scala和R。 问题答案: 写数据 提交应用程序或启动Shell时,包括适用的JDBC驱动程序。您可以使用例如: 或结合和 也可以在启动JVM实例之前使用环境变量来设置这些属性,或使用set或/来设置
本文向大家介绍python如何读写json数据,包括了python如何读写json数据的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python读写json数据的具体代码,供大家参考,具体内容如下 案例: 在web应用中常常用到json数据进行传输数据,本质上是字典类型数据转换成字符串,通过字符串进行网页传输,然后把接收到的字符串转换成字典类似数据 需求:实现字典转换成字符
这个问题的目的是记录: > 在PySpark中使用JDBC连接读写数据所需的步骤 JDBC源代码和已知解决方案可能存在的问题 只要稍作改动,这些方法就可以与其他受支持的语言(包括Scala和R)一起使用。
问题内容: 如何从Sql数据库读取MP3。在SQL中,我已经将文件存储为二进制格式。现在我想检索存储在sql中的Mp3文件,并显示在我的aspx页面中。如何???? 请帮助… 问题答案: 以最简单的形式,这就是您将如何获取原始字节的方法,如果不知道您想要的内容,将无法显示更多内容……
主要内容:日期和时间数据类型,处理NULL值JDBC驱动程序将Java数据类型转换为适当的JDBC类型,然后将其发送到数据库。 它为大多数数据类型提供并使用默认映射。 例如,Java 类型会被转换为SQL 。 创建默认映射以提供到驱动程序时保持一致性。 下表总结了当调用或对象或方法的方法时,将Java数据类型转换为的默认JDBC数据类型。 SQL类型 JDBC/Java类型 setXXX updateXXX VARCHAR java.lan
问题内容: 我正在努力寻找一个很好的例子,说明如何使用GSON在我的android应用中读取和写入数据。有人可以告诉我还是给我指出一个好榜样?我将其用于活动之间的数据持久性。 我的教授举这个例子来写: 我将如何将其保存到文件中? 问题答案: 如何将JSON保存到内部存储中的文件中: 如何读回: