Hibernate 映射 PostgresSQL中的数组类型
来源:互联网 发布:如何看待吴敦义 知乎 编辑:程序博客网 时间:2024/06/05 21:57
参考及引用自 https://vladmihalcea.com/2017/06/21/how-to-map-java-and-sql-arrays-with-jpa-and-hibernate/
添加 maven 依赖:
<dependency> <groupId>com.vladmihalcea</groupId> <artifactId>hibernate-types-52</artifactId> <version>1.1.1</version></dependency>
新增
BaseEntity
类充当所有实体类的基类。import com.vladmihalcea.hibernate.type.array.IntArrayType;
import com.vladmihalcea.hibernate.type.array.StringArrayType;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;import javax.persistence.MappedSuperclass;
/**
- 基础实体类
* - @author yanfa.Chen
- @date 2017/11/29
*/
@TypeDefs({
@TypeDef(
name = “string-array”,
typeClass = StringArrayType.class
),
@TypeDef(
name = “int-array”,
typeClass = IntArrayType.class
)
})
@MappedSuperclass
@DynamicInsert()
@DynamicUpdate()
public class BaseEntity {}
在
BaseEntity
类中通过hibernate自定义类型,我们使用hibernate-types-52
库自定义了两种类型:string-array
和int-array
。有兴趣的可去查看他的源码。- 实体类
Taction
继承BaseEntity
import org.hibernate.annotations.Type;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;/**
- 事务行动实体
* - @author yanfa.Chen
@date 2017/11/21
*/
@Entity
@Table(name = “taction”, schema = “public”)
public class Taction extends BaseEntity implements Serializable {private static final long serialVersionUID = 3617161749276324581L;
private Integer fid;
private String ftitle;
private String fcontent;
private String[] ftaglist; // 对应数据库中 text[]
private Integer[] fclientidlistRef; // 对应数据库中 int[]
…..
- 基础实体类
然后在实体类字段上或 get方法上添加:
@Type(type = "int-array")@Column(name = "fclientidlistRef")public Integer[] getFclientidlistRef(){ return fclientidlistRef; }
OK,现在就可以将数据库中的int[]
或 text[]
直接映射到实体类中的相应类型的数组中。如 int[] => Integer[] 或 int[], text[] => String[]
- Hibernate 映射 PostgresSQL中的数组类型
- Hibernate 映射xml中的属性类型
- Hibernate 映射xml中的属性类型
- Hibernate映射普通属性、Hibernate中的各种类型
- mysql中的text,mediumtext,longtext在Hibernate中的类型映射
- mysql中的text,mediumtext,longtext在Hibernate中的类型映射
- mysql中的text,mediumtext,longtext在Hibernate中的类型映射
- Hibernate映射类型
- Hibernate映射类型
- Hibernate的映射类型
- Hibernate的映射类型
- hibernate之映射类型
- hibernate mysql映射类型
- Hibernate类型映射
- Hibernate 映射类型
- Hibernate类型映射
- hibernate映射list类型
- Hibernate的映射类型
- leetcode_335. Self Crossing ? 待解决
- IntelliJ IDEA上创建Maven Spring MVC项目
- Spring 整合 Quartz 实现动态定时任务(附demo)
- Android热更新(Tinker)
- 【C】《C专家编程》核心知识点总结
- Hibernate 映射 PostgresSQL中的数组类型
- 数学回顾——高等数学
- 文档根元素 "beans" 必须匹配 DOCTYPE 根 "null"
- SSM框架反向自动生成Mapper等
- docker系列-01.centos下docker服务安装
- 这才是从菜鸟程序猿到技术大牛正确的打开方式
- Python语言在人工智能(AI)中的优势
- 【深度学习笔记】(三)Tensorflow on Android
- MT8735 andorid7.0 充电调试总结(1)——MTK电源管理(MT6318)