JPA详细说明
@Temporal(TemporalType.DATE):如果属性是时间类型,因为数据表对时间类型有更严格的划分,所以必须指定具体时间类型,如④所示。在javax.persistence.TemporalType枚举中定义了3种时间类型:
1) DATE :等于java.sql.Date
2) TIME :等于java.sql.Time
3) TIMESTAMP :等于java.sql.Timestamp
如果我们不希望将某个属性持久化到数据表中,则可以通过@Transient注解显式指定:
@Transient
private boolean tempProp1;
1. 基本属性映射
通过 @Basic 可以声明属性的存取策略:
@Basic(fetch=FetchType.EAGER) 即时获取(默认的存取策略)
@Basic(fetch=FetchType.LAZY) 延迟获取
通过 @Temporal 定义映射到数据库的时间精度:
@Temporal(TemporalType=DATE) 日期
@Temporal(TemporalType=TIME) 时间
@Temporal(TemporalType=TIMESTAMP) 两者兼具
使用 @Lob 映射Blob或Clob类型:根据属性类型决定
java.sql.CLOB, Character[], char[], String 将映射为 Clob
java.sql.BLOB, Byte[], byte[], serializable 将映射为 Blob
2. 列属性映射
使用 @Column 映射到列
@Column(
name="columnName"; // 可选,列名(默认是属性名)
boolean unique() default false; // 可选,是否在该列上设置唯一约束(默认 false)
boolean nullable() default true; // 可选,是否可以为空
boolean insertable() default true; // 可选,该列是否作为生成insert语句中的一列
boolean updatable() default true; // 可选,该列是否作为生成update语句中的一列
String columnDefinition() default ""; // 可选,为这个特定列覆盖 SQL DDL 片段(可能导致无法在不同数据库间移植)
String table() default ""; // 可选,定义对应的表,默认为主表
int length() default 255; // 可选,列长度
int precision() default 0; // 可选,列十进制精度(decimal precision)
int scale() default 0; // 可选, 列十进制数范围(decimal scale)
public class Person {
@Column(name = "PERSONNAME", unique = true, nullable = false, updatable = true)
private String name;
@Column(name = "PHOTO", columnDefinition = "BLOB NOT NULL", secondaryTable="PER_PHOTO")
private byte[] picture;
}
1. 基本属性映射
通过 @Basic 可以声明属性的存取策略:
@Basic(fetch=FetchType.EAGER) 即时获取(默认的存取策略)
@Basic(fetch=FetchType.LAZY) 延迟获取
通过 @Temporal 定义映射到数据库的时间精度:
@Temporal(TemporalType=DATE) 日期
@Temporal(TemporalType=TIME) 时间
@Temporal(TemporalType=TIMESTAMP) 两者兼具
使用 @Lob 映射Blob或Clob类型:根据属性类型决定
java.sql.CLOB, Character[], char[], String 将映射为 Clob
java.sql.BLOB, Byte[], byte[], serializable 将映射为 Blob
2. 列属性映射
使用 @Column 映射到列
@Column(
name="columnName"; // 可选,列名(默认是属性名)
boolean unique() default false; // 可选,是否在该列上设置唯一约束(默认 false)
boolean nullable() default true; // 可选,是否可以为空
boolean insertable() default true; // 可选,该列是否作为生成insert语句中的一列
boolean updatable() default true; // 可选,该列是否作为生成update语句中的一列
String columnDefinition() default ""; // 可选,为这个特定列覆盖 SQL DDL 片段(可能导致无法在不同数据库间移植)
String table() default ""; // 可选,定义对应的表,默认为主表
int length() default 255; // 可选,列长度
int precision() default 0; // 可选,列十进制精度(decimal precision)
int scale() default 0; // 可选, 列十进制数范围(decimal scale)
public class Person {
@Column(name = "PERSONNAME", unique = true, nullable = false, updatable = true)
private String name;
@Column(name = "PHOTO", columnDefinition = "BLOB NOT NULL", secondaryTable="PER_PHOTO")
private byte[] picture;
}
分享到:
相关推荐
JPA (注解标签)参考 相当于帮助文档!
springmvc +shiro+querydsl+jpa框架多数据源配置详细说明,文档包含详细配置说明,测试通过
这是JPA标签配置手册,从ORACLE官方得到的资料,里面对JPA所有的标签都进行详细的说明。 Index of Annotations • A o @AssociationOverride o @AssociationOverrides o @AttributeOverride o @AttributeOverrides ...
JPA 批注的详细说明文档,自己整理的。
JPA 的最详细的说明,为你解答每一个注解的使用方法和技巧,帮您快速梳理思路,这是多少个字了????
JPA详细使用说明!由他一个足以!啥po的继承,一对多,多对多和JPA的配置该文档都有的!
NULL 博文链接:https://jeenry119.iteye.com/blog/1431844
Weblogic不能兼容JPA2.0,引用资源及相关路径设置,内包含详细的操作说明
SpringMVC+Spring+JPA+Maven的框架搭建的详细说明文档。具体包括项目整体结构,及如何使用Maven构建
具有详细的SpringDataJPA配置及文档说明,让你更快的理解SpringDataJPA持久层方案
Spring Hibernate JPA与常用JAR包详解,非常全面,将每个包的依赖包也有详细的说明
本系统基本完成了一个基于spring boot + JPA的进销存管理系统,主要实 现采购管理、库存管理、销售管理、查询统计、资料管理和系统管理功能。 本系统的实现依靠了很多计算机技术,包括Java语言、Spring boot...
注意:配置JBoss服务器和调试的动作参见readme.txt文档,有详细说明怎样匹配连接池,以及可能遇到的问题及解决办法。该例子演示怎样使用Hibernate技术(没有使用XDoclet技术)实现JPA的Top-Down的XP开发流程,本人...
环境:Window XP Professional, JDK 1.6, Eclipse 3.3 Europa, JBoss 4.2.1, Mysql 5.0 理由:持久层技术从EJB 2.0的实体bean开始,...代码几乎一行一注释,非常详细的说明了使用JPA的步骤,是学习JPA编程的好例子。
JPA(java persistence api)是JavaEE5.0平台的标准的ORM规范。而Hibernate、TopLink和OpenJPA为JPA的一种实现方式。 本文档主要是对其注解的详细说明。
JPA JDBC hibernate mybatis对比,里面从官方例子比较详细对比说明,从开发效率,crud执行效率等各种维度上做对比分析
JPA2映射的神秘之旅,介绍JPA的标准规范以及注解声明的使用,对已如何做一对多,多对一有详细的说明!
这个是基于原例子修改和调试通过可用的例子,已经打包了所需的资源包。 同时在我的博客里会发一篇详细的文档来对它进行说明。
资源名字:基于java+JPA+jsp的进销存管理系统设计与实现(源码+文档)_MySQL_JPA_jsp_进销存管理系统.zip 资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 适合场景:...
达梦数据库官网:本篇主要讲整合,详细介绍会在别的文章中。 1.达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。 达梦数据库管理系统的最新版本是8.0版本,简称DM8。 2.DM...