如何存储XML数据?

如何存储XML数据?,xml,postgresql,jooq,Xml,Postgresql,Jooq,我看到了,但我想知道jOOQ是否提供了另一种解决此类问题的方法 目前,我还没有看到另一种方法来写这样的东西 String sql=“插入xml_文档(id,gkuzu)值(?,XMLPARSE(?)”; 然后用jOOQ执行它 this.ctx.execute(sql); 但是,对于更复杂的语句,是否还有其他选择,我也可以在其中编写,例如 StringBuilder xml=new StringBuilder(); // .. 此.ctx.insertInto(我的表) .set(MY_TAB

我看到了,但我想知道jOOQ是否提供了另一种解决此类问题的方法

目前,我还没有看到另一种方法来写这样的东西

String sql=“插入xml_文档(id,gkuzu)值(?,XMLPARSE(?)”;
然后用jOOQ执行它

this.ctx.execute(sql);
但是,对于更复杂的语句,是否还有其他选择,我也可以在其中编写,例如

StringBuilder xml=new StringBuilder();
// ..
此.ctx.insertInto(我的表)
.set(MY_TABLE.NAME,NAME)
// ..
.set(MY_TABLE.DESCRIPTION_XML,XML.toString());

或者类似的?

jOOQ 3.7不支持开箱即用的XML(或JSON等)类型,但实际上,jOOQ通过实现自定义数据类型绑定来帮助您抽象XML数据类型。手册中有一个JSON和PostgreSQL示例。您可以轻松地将其应用于XML:

基本上,您需要实现,然后配置代码生成器以将此绑定应用于所有
XML
type列,或特定名称模式的列:


好的,我明白了:)我注意到在生成的代码中,它构建了一个映射,并将
对象
作为值类型。然后我意识到这可以通过
转换器来实现。谢谢卢卡斯@displayname:对于这种情况,转换器是不够的,因为您必须在JDBC级别指定如何绑定XML变量(例如,通过生成
XMLPARSE(?)
?::XML
)。这可以通过
绑定来完成
只是抱歉,我弄错了。在我去上班的路上,我正在读你的答案。谢谢你指出这一点:D