/**
* Employ
* @author Administrator
*/
@Entity
@Table(name = "T_EMPLOY")
// @SequenceGenerator(name = "SEQ", sequenceName = "SEQ_SYS_FUNC_MENU",
// initialValue = 0, allocationSize = 1) Oracle中序列方式生成主键
public class Employ {
//@Id
// @GeneratedValue(strategy = GenerationType.SEQUENCE, generator ="SEQ")
//Oracle序列方式生成/主键
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) //MySQL,SQLSErver自增长方式
@Column(name = "ID", nullable = false)
private Integer id; // 主键,非空,主键生成方式自动
@Column(name = "NAME", nullable = false, length = 32)
private String name; // 长度32,非空
@Temporal(TemporalType.DATE)
@Column(name = "BIRTHDAY", nullable = true, length = 32)
private Date birthday; // 日期类型,格式:yyyy-MM-dd
@Temporal(TemporalType.TIMESTAMP)
private Date enterDate; // 日期类型,格式:yyyy-MM-dd HH:mm:ss
@Enumerated(EnumType.ORDINAL)
@Column(name = "FIRSTSEASON")
private Season firstSeason = Season.Spring;// 季节枚举类型,显示索引值
@Enumerated(EnumType.STRING)
@Column(name = "SECONDSEASON", nullable = false, length = 6)
private Season secondSeason = Season.Autumn;// 季节枚举类型,显示字符串
@Lob
private String bigText; // 文本大字段类型
@Lob
@Basic(fetch = FetchType.LAZY)
private Byte[] fileData; // 二进制字节流,启用延迟加载方式
@Transient
private String filePath;// 虚拟列,不生成表字段
public String toString() {
return "[ id:" + id + ",name:" + name + ",birthday:" + birthday
+ ",enterDate:" + enterDate + ",firstSeason:" + firstSeason.ordinal()
+ ",secondSeason:" + secondSeason + ",bigText:" + bigText
+ ",filePath:=" + filePath + "]";
}
//getter/setter ... ...
}
//测试方法
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
EntityManagerFactory factory = Persistence.createEntityManagerFactory("sample");
EntityManager em = factory.createEntityManager();
em.getTransaction().begin();
Employ employ = new Employ();
employ.setName("employ1");
employ.setFirstSeason(Season.Spring);
employ.setSecondSeason(Season.Autumn);
em.persist(employ);
em.getTransaction().commit();
em.close();
factory.close();
}
相关推荐
对于JPA不直接支持的数据类型,可以通过实现`UserType`接口来自定义字段类型。这种方式比较复杂,但能实现对任何类型的数据的持久化。 ### 5. JPA实体配置 实体类需要使用`@Entity`注解标识,表名可通过`@Table`...
在Java Persistence API (JPA) 中,实体映射关系是数据库关系模型与Java对象模型之间的桥梁,用于在ORM(对象关系映射)框架下管理数据。JPA 提供了多种映射关系,使得开发者能够方便地处理不同类型的关联。下面我们...
以下是关于JPA和这些特定字段类型映射的详细知识: 1. **JPA基础**: JPA通过提供API和注解,使得开发者可以使用面向对象的方式来操作数据库,而无需编写SQL语句。它实现了ORM框架的主要功能,包括对象持久化、...
继承映射则适用于具有共同属性但又有所区别的实体,如不同类型的用户、不同状态的订单等,通过继承关系可以避免代码重复,提高代码复用性。 总结,JPA提供了强大的关联和继承映射机制,让开发者能更便捷地处理...
在实际应用中,JPA的关联映射不仅可以简化对象关系映射的配置,还能提供诸如级联操作(`@CascadeType`)和懒加载(`@Fetch(FetchType.LAZY)`)等高级功能,使得数据访问更加灵活和高效。 总之,JPA关联映射是理解和...
1. **JPA是什么**:JPA是一种ORM(对象关系映射)框架,它允许Java开发者以面向对象的方式处理数据,将Java对象映射到数据库中的表,从而简化数据库操作。 2. **JPA起源**:JPA最初由Sun Microsystems开发,作为EJB...
例如,@Basic注解可以指定基本类型映射,@Enumerated用于枚举类型映射,@Lob注解用来映射大对象类型,如二进制数据或字符数据,@Temporal注解用于时间类型数据,指示其时间粒度。 关系映射是指实体间关系的映射,...
在本篇中,我们将深入探讨如何搭建JPA环境以及理解其基本的映射机制。 ### **一、环境搭建** 1. **依赖引入**:首先,你需要在项目中引入JPA的依赖。如果你使用的是Maven,可以在`pom.xml`文件中添加如下的Spring ...
- **基本类型映射**:如`@Basic`注解用于将Java基本类型或包装类映射到数据库字段。 - **关系映射**:`@ManyToOne`,`@OneToMany`,`@OneToOne`,`@ManyToMany`注解用于处理实体间的关系。 - **复合主键**:`@...
本文详细介绍了在JPA实体映射中处理时间字段的方法,包括时间字段的格式化、使用`Calendar`类操作时间、不同时间类型在数据库中的表现形式,以及如何解决时间字段默认值为零的问题。通过这些方法,开发者可以更加...
例如,我们可以定义一个UserRepository接口,继承JpaRepository,并指定对应的实体类和主键类型: ```java public interface UserRepository extends JpaRepository, Long> { } ``` 这将自动为我们生成以下方法: ...
在Java Persistence API (JPA) 中,映射关联关系是数据模型设计的重要组成部分。JPA 提供了多种方式来处理不同类型的关联关系,包括单向多对一、单向一对多、双向一对一、双向多对一和双向多对多。下面我们将详细...
### JPA基本概念实例操作详解 #### EntityManager与基本概念 - **EntityManager简介**:`EntityManager`,也称为实体管理器,是Java Persistence API (JPA) 中的核心接口之一,负责处理实体对象的生命周期管理和...
在Java Persistence API (JPA) 中,EclipseLink作为一个强大的对象...通过使用`@StructConverter`和`@Convert`注解,我们可以轻松地将这种复杂的数据类型纳入到普通的JPA操作中,从而简化了与空间数据相关的开发工作。
**Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的对象-关系映射(ORM)。它提供了一种方式,让开发者可以用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。JPA允许你在...
### JPA基本描述 JPA(Java Persistence API)是一种用于管理关系型数据库对象的标准API,它使得Java开发人员能够以面向对象的方式操作数据库。通过提供一套标准的数据持久化规范,JPA大大简化了数据访问层的开发...
四种基本的关系类型如下: - **一对一 (OneToOne)**:一个实体对应另一个实体的唯一实例,通常通过外键实现。 - **一对多 (OneToMany)**:一个实体可以对应多个其他实体,如用户和订单关系。 - **多对一 (ManyToOne...
**JPA(Java Persistence API)**是Java平台上的一个标准,用于管理关系数据库中的数据,它简化了在Java应用程序中存储、检索和管理对象的工作。JPA是Java EE和Java SE环境中的一种ORM(Object-Relational Mapping)...
**JPA(Java Persistence API)**是Java平台上的一个标准,用于管理关系数据库中的数据,它简化了在Java应用程序中存储、检索和管理对象-关系映射(ORM)的工作。JPA通过提供一套API和元数据来定义如何将Java类映射...
针对Oracle,可能还会涉及特定的JPA配置,比如数据源设置、Oracle特有类型的支持等。 在压缩文件"JPA注解参考_Oracle.chm"中,读者可以期待找到以下内容: 1. JPA基本概念和工作原理的概述。 2. JPA的主要组件和...