如何使用JPA / Hibernate映射XMLType

时间:2010-06-17 18:09:56

标签: hibernate

如何通过JPA / Hibernate持久化XMLType列?根据oracle文档,有两种方法可以为XMLType声明存储子句。它们是LOB和Object-Relational。我不想和LOB一起去。我有架构并注册到数据库。我还没有关于如何为XMLType设计实体的示例。有人知道请分享吗?

4 个答案:

答案 0 :(得分:3)

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

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

    @ColumnTransformer(read =“to_clob(columnName)”,write =“?”)
    @Column(name =“COLUMN_NAME”,columnDefinition =“XMLType”)
    private String columnName;

答案 1 :(得分:0)

我会使用自定义UserType(Hibernate扩展)。博客文章Hibernate with Oracle XmlType提供了您可能会重复使用的实现。然后,使用Type注释声明自定义UserType

答案 2 :(得分:0)

自定义java类HibernateXMLType适用于CLOB。

答案 3 :(得分:0)