Hibernate中使用@Lob 注解保存String[] 问题

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应用开发中还是挺有用的一个使用技巧。

时间: 2024-11-05 19:26:41

Hibernate中使用@Lob 注解保存String[] 问题的相关文章

hibernate中对象集合的保存

一.在java web设计中经常使用对象进行操作,在hibernate中对象集合的保存(一对多) 1需要进行如下步骤: 1) 设计数据表关系 2)引入jar包,需要注意引入数据库connector 3)写实体类 4)配置映射文件和hibernate.cfg.xml 2例子如下: 员工和部门的关系,多个员工属于一个部门,一个部门有多个员工.可以在员工表上设置一个外键解决一对多的关系. 2.1)创建表 CREATE TABLE employee( id INT PRIMARY KEY AUTO_IN

hibernate中实体类注解

一.JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.这里的@id和@GeneratedValue都是JPA的标准用法, JPA提供四种标准用法,由@GeneratedValue的源代码可以明显看出. Target({METHOD,FIELD}) @Retention(RUNTIME) public @interface GeneratedValue{ G

Hibernate中的Annotation注解与XML配置的使用

通过XML配置来实现持久化: 首先我们来建立一个实体类: package com.hibernate.model; public class Student {     private int id;     private String name;     private int age;          public int getId() {         return id;     }     public void setId(int id) {         this.id 

Hibernate中的一些注解的学习

1.@Column注解 就像@Table注解用来标识实体类与数据表的对应关系类似,@Column注解来标识实体类中属性与数据表中字段的对应关系. @Column注解一共有10个属性,这10个属性均为可选属性,各属性含义分别如下: name name属性定义了被标注字段在数据库表中所对应字段的名称: unique unique属性表示该字段是否为唯一标识,默认为false.如果表中有一个字段需要唯一标识,则既可以使用该标记,也可以使用@Table标记中的@UniqueConstraint. nul

hibernate 中如何用注解映射定长字符类型char(2)

如果是用xml的方式配置映射,可以在<column>标签的sql-type属性中设置char(2),比如: 1 <property name="age" type="java.lang.String"> 2 <column name="age" sql-type="char(2)"></column> 3 </property>   如果是注解的话,需要使用@Colu

Annotation(二)——Hibernate中注解的开发

在利用注解开发数据库持久层以前,需要学习一个规范JPA(Java Persistence API),这也是SUN公司提出的数据库的持久化规范.就类似于JDBC,Servlet,JSP等规范一样.而Hibernate框架就实现了此规范,我们可以通过注解和配置文件来实现此规范.前边的学习都是建立在配置文件的基础上,而注解开发现在也处于一种趋势,毕竟它大大提高了开发速度. 看一下注解在Hibernate框架中的开发知识. 一,首先需要导入支持注解开发的jar包: hibernate-annotatio

Hibernate中的注解说明

Hibernate中注解注解比较多,常用的也就那么几个,在这里把Hibernate中的注解汇总总结一下. @Entity:将一个类声明为一个实体bean,即一个持久化POJO; @Id:声明bean的标识属性,即和表中的主键对应的属性: @Table:声明bean映射数据库中指定的表: @Column:声明bean的属性到表的列的映射,该注解还有以下属性: name:可选,属性要映射的列明,如果属性名和列名相同则可以省略: unique:可选,是否在该列上设置唯一约束,默认值为false: nu

Hibernate中注解的开发

在利用注解开发数据库持久层曾经,须要学习一个规范JPA(Java Persistence API),这也是SUN公司提出的数据库的持久化规范. 就类似于JDBC.Servlet,JSP等规范一样.而Hibernate框架就实现了此规范,我们能够通过注解和配置文件来实现此规范.前边的学习都是建立在配置文件的基础上,而注解开发如今也处于一种趋势.毕竟它大大提高了开发速度. 看一下注解在Hibernate框架中的开发知识. 一.首先须要导入支持注解开发的jar包: hibernate-annotati

hibernate中1对1的注解配置

hibernate中1对1的注解配置分为:外键关联映射和主键关联映射 1.外键配置 //一方@Entity@Table(name="test_classinfo")public class ClassInfo { @Id @SequenceGenerator(name="seqClassInfo",sequenceName="seq_test_classinfo") @GeneratedValue(generator="seqClass