Mik*_*ike 18
JPA确实支持java.util.Calendar及其子类.唯一需要注意的是,必须使用@Temporal注释来指示字段在数据库中的存储方式.这两个版本的规范都有这个要求,这是JPA 2.0规范中的部分:
11.1.47时间注释
必须为持久字段或java.util.Date和java.util.Calendar类型的属性指定Temporal注释.它只能为这些类型的字段或属性指定.
时间注释可以与基本注释,Id注释或ElementCollection [111]注释结合使用(当元素集合值具有这样的时间类型时).
TemporalType枚举定义了这些时间类型的映射.
public enum TemporalType {
DATE, //java.sql.Date
TIME, //java.sql.Time
TIMESTAMP //java.sql.Timestamp
}
Run Code Online (Sandbox Code Playgroud)
否则你没什么特别需要做的.您的实体可能看起来像这样:
@Entity
public class Person {
// . . .
@Temporal(TemporalType.TIMESTAMP)
private GregorianCalendar lastUpdated;
// . . .
}
Run Code Online (Sandbox Code Playgroud)
JPA允许java.util.Calendar(和它的子类)的映射.从JPA 1.0规范:
9.1.18基本注释
Basic注释是到数据库列的最简单映射类型.基本注释可以应用于以下任何类型的持久性或实例变量:Java基本类型,基本类型的包装,
java.lang.String,java.math.BigInteger,java.math.BigDecimal,java.util.Date,java.util.Calendar,java.sql.Date,java.sql.Time,java.sql.Timestamp,byte[],Byte[],char[],Character[],枚举,以及任何其他类型的器具Serializable.如2.1.6节所述,对于这些类型的持久字段和属性,Basic注释的使用是可选的.
| 归档时间: |
|
| 查看次数: |
15741 次 |
| 最近记录: |