定义一个枚举类型:
public enum Gender {
MAN,WOMAN
}
private Date date;
//设置默认值
//TemporalType.DATE表示日期 2010-02-02
//TemporalType.TIME表示时间 09:30
//TemporalType.TIMESTAMP表示时间戳 2010-02-02 09:30
@Temporal(TemporalType.TIMESTAMP)
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
private Gender gender=Gender.MAN;
//一定要设置为非空
@Enumerated(EnumType.STRING) @Column(length=5)
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
//@Id表示这个属性为主键 (可以标注在字段上或是getter属性上)
//@GeneratedValue(strategy=GenerationType.AUTO)表示生成主键策略为自增长 ,为默认
//下面的两种策略在不同数据库中有些是不支持的所有,最好使用上面的策略它会根据方言自动来识别
//@GeneratedValue(strategy=GenerationType.IDENTITY
//@GeneratedValue(strategy=GenerationType.SEQUENCE
//@GeneratedValue(strategy=GenerationType.TABLE通用效率低
//默认的映射字段于实体的属性名相同
@Id @GeneratedValue(strategy=GenerationType.AUTO)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
//指定列类型长度、指定类是否可以为空、指定这个列名称(默认是根据属性名)
@Column(length=10,nullable=false,name="myName")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//设置不需要持久化字段
private String imageFile;
@Transient//表示这个属性不于数据库字段进行映射
public String getImageFile() {
return imageFile;
}
@Table(name="myperson")//指定这个表的名称
分享到:
相关推荐
本资料主要针对JPA在处理日期、枚举等特殊字段类型时的映射进行深入解析。 ### 1. JPA基本概念 JPA通过提供一套API和元数据接口,允许开发人员将对象模型与关系数据库的表结构进行映射,从而简化了数据库操作。它...
本课程"05_传智播客JPA详解_日期_枚举等字段类型的JPA映射"深入讲解了JPA在处理特定字段类型,如日期和枚举时的映射方法。以下是关于JPA和这些特定字段类型映射的详细知识: 1. **JPA基础**: JPA通过提供API和...
JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用对象持久化的开发工作,实现ORM的统一。JPA详解视频教程 第5讲 日期_枚举等字段类型的JPA映射.avi
具体来说,可以将`java.util.Date`映射为`java.sql.Date`、`java.sql.Time`或`java.sql.Timestamp`等类型。默认情况下,如果实体类中使用的是`java.util.Date`类型,则会被映射为`java.sql.Timestamp`。 ```java @...
日期_枚举等字段类型的JPA映射** JPA提供了对不同数据类型的映射,如日期类型(@Temporal),枚举类型(@Enumerated),甚至自定义类型,通过Converter接口可以自定义数据类型转换。 **6. 大数据字段映射与字段...
例如,@Basic注解可以指定基本类型映射,@Enumerated用于枚举类型映射,@Lob注解用来映射大对象类型,如二进制数据或字符数据,@Temporal注解用于时间类型数据,指示其时间粒度。 关系映射是指实体间关系的映射,...
- **枚举类型**:讲解枚举类型字段的映射方式。 #### 9. 大数据字段映射与字段延迟加载 - **大数据字段**:讨论如何在JPA中处理较大的文本或二进制数据字段。 - **字段延迟加载**:解释字段延迟加载的概念及其实现...
- `@Basic`:基本类型或枚举类型的默认映射。 - `@Temporal`:处理日期和时间类型的映射。 - `@Lob`:用于大对象(LOB)如BLOB和CLOB的映射。 - `@Transient`:标记一个属性不应被持久化。 5. **关系映射批注**...
`@Basic`批注用于显式指定字段的映射方式,而`@Enumerated`和`@Temporal`则分别用于配置枚举和日期时间类型的映射。`@Lob`批注则专门用于处理大对象类型,如文本、图像或音频数据。 ##### 关系映射 关系映射是JPA...
- `@Enumerated`:用于枚举类型的映射。 - `@Temporal`:对于日期和时间类型,指定如何存储。 - `@Lob`:标记大对象(BLOB或CLOB)字段。 - `@Transient`:标记不需持久化的字段。 5. **关系映射**: - `@...
- JPA支持将Java中的日期类型和枚举类型映射到数据库中的相应类型。 - 正确地映射这些类型有助于保持数据的一致性和准确性。 - **延迟加载**: - 是一种优化技术,用于按需加载数据,特别是在处理大量数据时可以...
- **@Temporal**:用于指定日期/时间类型的字段应该如何存储。 - `TemporalType.DATE`:只存储日期部分。 - `TemporalType.TIME`:只存储时间部分。 - `TemporalType.TIMESTAMP`:同时存储日期和时间部分。 - **@...
- **`@Temporal`**:用于日期和时间类型的映射。 - **`@Lob`**:用于大对象类型如 BLOB 和 CLOB 的映射。 - **`@Transient`**:用于标记不参与持久化的属性。 #### 关系映射 - **`@OneToOne`**:表示一对一的关系...
- **复杂类型映射**:对于日期时间、枚举等复杂类型,可以使用特定的注解进行映射。 - **一对多、多对一映射**:使用`@ManyToOne`、`@OneToMany`等注解表示一对多或多对一的关系。 - **多对多映射**:使用`@...
- `@Enumerated`:将枚举类型映射为数据库的特定类型。 - `@Temporal`:处理日期和时间类型,如TIMESTAMP、DATE或TIME。 - `@Lob`:将大对象(BLOB或CLOB)映射到数据库。 - `@Transient`:标记不参与持久化的...
Hibernate则是一个流行的ORM(对象关系映射)框架,它是JPA的一种实现,提供了丰富的功能和高度的灵活性。 在JPA中,**关联关系**是实体之间的一种关系,模仿了数据库中的表间关系。有四种主要的关联类型: 1. **...
Java 持续性API(JPA)是Java企业版5(Java EE 5)的一部分,作为Enterprise JavaBean(EJB)3.0规范的组件,它的目标是简化EJB的持久性处理,并提供了一种面向对象的关系映射机制。JPA允许开发者以声明式的方式定义...
10. **@Temporal** - 用于指定日期和时间类型的映射方式。 11. **@Lob** - 用于指定大型对象(如 BLOB 或 CLOB)类型的映射方式。 12. **@Transient** - 用于指定一个字段不应该被持久化。 13. **@Inheritance** ...