我可以使用JPA将SQLServer XML列映射到Java中的String吗?

时间:2010-12-16 16:34:16

标签: sql-server xml hibernate jpa playframework

我将playframework与遗留的SQL Server 2008数据库一起使用,该数据库的数据存储在XML列中。我希望能够以java形式从java对象访问XML。我尝试在java对象上将该列声明为String,但它没有被填充。我尝试过使用Microsoft SQL Server JDBC驱动程序以及jTDS驱动程序。我正在使用Hibernate作为JPA提供程序,但如果有帮助,可以切换到另一个提供程序。

有没有办法将XML列映射到对象的String属性?我是否需要编写Hibernate UserType?或者我应该使用较低级别的API来实现这一目标吗?

2 个答案:

答案 0 :(得分:0)

Hibernate UserType声音正确。但我担心您需要使用自定义类型,因此将列定义为XMLColumn,其中XMLColumn保存您的数据。

答案 1 :(得分:0)

毕竟正在映射字符串! XML和String之间的Hibernate映射正如预期的那样工作。事实证明,关于XML结构的一些错误假设意味着目标节点未被正确提取,并且日志记录级别未设置为DEBUG,因此原始XML不可见。在假设最坏情况之前检查明显的一课。