Hibernate中使用@Lob 注解保存String[] 问题
在Hibernate注解中如何你想保存一个字段为String数组类型,如果你想尝试保存为clob类型的话,一般情况下为定义为:
@Entity
Public class Person {
…
@Lob
String[] stringArray;
….
}
多数时候当你自动创建表的时候,Hibernate会告诉你Json无法转换或者类转换错误,原因在于你保存text类型文本,Hibernate只接受String类型的,当你定义为String 数组类型,Hibernate就无法处理了,各种奇怪的错误就来了,要不你就死在这个API,要不就通过如下方法来解决这个问题,解决的方法很简单,直接去掉注解,让hibernate自动识别是什么类型就搞成什么类型,最终工作的代码示例如下:
@Entity
Public class Person {
…
// 注意,无需注解
List<String> stringArray;
….
}
这样就可以成功保存一个String List/array到你对应的Entity中去了,这个在用Hibernate做Web应用开发中还是挺有用的一个使用技巧。
本文介绍在Hibernate中如何正确地保存String数组类型的数据。通常情况下,直接使用@Lob注解会导致转换错误。解决方法是使用List<String>替代,并省略@Lob注解,让Hibernate自动识别并正确处理。
693

被折叠的 条评论
为什么被折叠?



