如何通过JPA/Hibernate持久化XMLType列?根据Oracle文档,声明XMLType存储子句有两种方式:LOB和对象关系。我不想选择LOB。我已经有了模式并将其注册到数据库中。但是我没有关于如何设计XMLType实体的示例。如果有人知道,请分享一下吧。
对于我而言,这个方法很有效(JPA 2.1和Hibernate 5.1.0):
在@Column中设置columnDefinition为"XMLType"
@ColumnTransformer(read = "to_clob(columnName)", write = "?")
@Column(name = "COLUMN_NAME", columnDefinition = "XMLType")
private String columnName;
我会使用自定义的UserType
(Hibernate扩展)。博客文章Hibernate with Oracle XmlType提供了一个可以重用的实现。然后,使用Type
注释声明您的自定义UserType
。
创建了hibernate usertype类 实体指向@Type("HibernateXMLType") 将Document作为字段
自定义的Java类HibernateXMLType对于CLOB运行良好。