如何使用JPA/Hibernate映射XMLType

如何使用JPA/Hibernate映射XMLType,hibernate,Hibernate,如何通过JPA/Hibernate持久化XMLType列?根据oracle文档,为XMLType声明存储子句有两种方法。它们是关系型、LOB和对象关系型。我不想和LOB一起去。我有模式并注册到数据库中。我还没有关于如何为XMLType设计实体的示例。有谁知道请分享吗?我会使用自定义的用户类型(Hibernate扩展名)。博客文章提供了一个可以重用的实现。然后,用注释声明您的自定义UserType。自定义java类HibernateXMLType适用于CLOB。这对我来说很好(JPA 2.1和Hi

如何通过JPA/Hibernate持久化XMLType列?根据oracle文档,为XMLType声明存储子句有两种方法。它们是关系型、LOB和对象关系型。我不想和LOB一起去。我有模式并注册到数据库中。我还没有关于如何为XMLType设计实体的示例。有谁知道请分享吗?

我会使用自定义的
用户类型(Hibernate扩展名)。博客文章提供了一个可以重用的实现。然后,用注释声明您的自定义
UserType

自定义java类HibernateXMLType适用于CLOB。

这对我来说很好(JPA 2.1和Hibernate 5.1.0):

  • 将实体中的字段创建为字符串
  • 使用Hibernate中的@ColumnTransformer注释定义如何读取和写入列
  • 将@Column中的columnDefinition设置为“XMLType”

    @ColumnTransformer(read=“to_clob(columnName)”,write=“?”)
    @列(name=“Column\u name”,columnDefinition=“XMLType”)
    私有字符串列名


谢谢。但当我试图通过JPA entitymanager持久化时,我遇到了以下SQL异常。我已经完全完成了您在博客中提供的内容>创建的hibernate usertype类>指向@Type(“HibernateXMLType”)的实体>文档作为字段SQL Exception-----------java.SQL.SQLException:无法将文档转换为storage@Moorthy:请用问题更新您的问题,注释框中无法读取。oracle xml解析器xmlparserv2.jar导致了该问题。如果我删除它,HibernateXMLType类会从xmlType=xmlType.createXML(st.getConnection(),…)java.lang.NoClassDefFoundError:com.tutorial.hibernate.HibernateXMLType.nullSafeSet(HibernateXMLType.java:112)的oracle/xml/parser/v2/XMLParseException行抛出以下异常我知道这个解析器与javax.xml冲突。解析器请解释一下如何解决它。如果超过4000个字符,它就会失败。