`

jpa一些详细说明

阅读更多
JPA 的一些详细说明
2008年10月14日 星期二 23:23

 @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注解说明 详解

    下面将详细介绍JPA中的一些核心注解及其用法。 1. **@Entity(name="EntityName")**:此注解标记一个Java类为一个实体类,它对应数据库中的一个表。`name`参数是可选的,用于指定实体在数据库中的表名,若不指定则...

    jpa使用说明(English)

    ### JPA 使用说明 #### 一、引言与背景 在企业级应用开发中,管理关系型数据库的数据是一项核心任务。传统的做法是使用 JDBC(Java Database Connectivity)来操作数据库。虽然 JDBC 支持大量数据的处理,能确保...

    JPA标签(注解)详细说明

    以上就是JPA中常用的一些注解及其功能,它们极大地简化了Java对象和数据库表之间的映射过程,使得开发者能够更加专注于业务逻辑而不是数据持久化细节。通过熟练掌握这些注解,可以更高效地构建和管理Java应用程序的...

    JPA中文解释,JPA的API

    2. JPA的主要组件和接口的详细说明。 3. JPA注解的全面介绍,包括如何使用它们来定义实体类、字段属性以及关系映射。 4. Oracle数据库与JPA的集成,包括驱动配置、数据源设置等。 5. 使用JPA进行CRUD(创建、读取、...

    spring3.0.5与JPA2.0(hibernate3.6)的集成详细说明

    本篇将详细讲解如何将Spring 3.0.5与JPA 2.0(基于Hibernate 3.6)进行集成,以构建高效、灵活的应用程序。 首先,让我们了解Spring 3.0.5的核心特性。Spring 3.0引入了若干改进和新特性,包括对JSR-303(Bean ...

    JPA大全之经典全集

    JSR文档定义了JPA的标准,API文档则提供了具体的接口和类的说明,帮助开发者理解和使用JPA。 ### JPA详解 JPA详解通常是对JPA的深入解析,包括实体(Entity)、持久化上下文(Persistence Context)、托管状态...

    springmvc +shiro+querydsl+jpa框架多数据源配置详细说明

    Spring MVC + Shiro + QueryDSL + JPA 框架多数据源配置详细说明 Spring MVC + Shiro + QueryDSL + JPA 框架多数据源配置是当前 Web 应用程序中常见的技术栈组合。该技术栈组合可以提供强大的安全认证、数据查询和...

    JPA 2.0jar包及JPA2.0源代码

    JavaDoc则提供了详细的API文档,列出了所有可用的接口、类和方法,以及它们的用途和参数说明,是开发过程中不可或缺的参考资料。 **Schema文件** schema文件可能包含了JPA 2.0的元数据定义,如实体、关系、查询等...

    JPA总结各种情况

    JPA详细使用说明!由他一个足以!啥po的继承,一对多,多对多和JPA的配置该文档都有的!

    JPA注解的解释和说明.pdf

    本文将详细介绍JPA中常用注解的使用方法和技巧。 @Entity:此注解用于声明一个类是实体类,并且该类中的对象会被映射到数据库表。实体类通常需要使用@Table注解来指定具体的数据库表名称。当实体类的名称和数据库表...

    JPA 规范1.0 中文版

    ### JPA 规范1.0中文版关键知识点解析 #### 一、概述 Java Persistence API (JPA) 是一种用于处理对象与关系数据库...此外,该文档还详细介绍了规范的使用许可条件,确保开发者能够在合法的前提下充分利用 JPA 技术。

    Weblogic 兼容JPA相关架包架包

    README.MD文件通常是项目或软件的说明文档,它可能包含了详细的步骤来指导用户如何配置Weblogic以兼容JPA2.0,可能包括以下内容: 1. **部署配置**:可能需要修改Weblogic的部署描述符(如weblogic.xml或ejb-jar....

    pring date jpa中文指南文档

    《Spring Data JPA 中文指南》是一份详细阐述Spring Data JPA使用方法和技术的文档,旨在帮助开发者更好地理解和应用这一强大的持久层框架。Spring Data JPA是Spring Framework的一部分,它简化了Java Persistence ...

    SpringData JPA 参考文档PDF 英文

    整体而言,Spring Data JPA的官方参考文档是一个非常全面的技术指南,它不仅详细阐述了Spring Data JPA的核心特性和使用方法,也提供了与JPA结合使用的高级特性说明。文档中所涉及的知识点涵盖了从简单的仓库接口...

    springboot+data-jpa+thymeleaf简单demo

    以下是对这个DEMO中涉及的技术点的详细说明: **SpringBoot** SpringBoot是由Pivotal团队提供的全新框架,旨在简化Spring应用程序的初始搭建以及开发过程。它通过内嵌Tomcat或Jetty服务器,自动配置Spring和许多...

    JPA环境搭建所学的所有jar包

    Java Persistence API(JPA)是Java平台上的一...以上就是关于JPA环境搭建所需jar包的详细说明,以及搭建过程中涉及的一些关键技术点。正确配置这些依赖将使你的Java应用能够充分利用JPA的便利性,实现高效的数据操作。

    springboot+jpa+swagger 动态查询

    下面将详细讲解这些技术及其在动态查询中的应用。 Spring Boot是由Pivotal团队提供的一个框架,用于简化Spring应用程序的初始搭建以及开发过程。它通过默认配置、自动配置和起步依赖项,极大地简化了基于Spring的...

    java程序使用JPA注解详解.doc

    JPA 使用注解来定义实体类与数据库表之间的映射关系,本文将详细介绍 JPA 注解的使用。 一、@Table 注解 @Table 注解用于定义实体类对应的数据库表的名称、目录和模式等属性。元数据属性说明: * name:表名,...

    SpringMVC+Spring+JPA+Maven框架搭建

    SpringMVC+Spring+JPA+Maven框架搭建 SpringMVC+Spring+JPA+Maven框架的...在实际开发过程中,开发者还需要熟悉各个框架的详细API,以及如何利用Maven进行依赖管理和项目构建,这样才能高效地进行企业级应用的开发。

    spring-data-jpa-reference API

    Namespace 参考**:提供了详细的配置元素说明,如 `<repositories/>` 和 `<repository/>` 等。 - **B. 常见问题解答**:解答了一些常见的技术疑问,帮助开发者更好地理解和使用 Spring Data JPA。 #### 结论 ...

Global site tag (gtag.js) - Google Analytics