日期:2014-05-18  浏览次数:20624 次

请教JPA2中的@Temporal
本帖最后由 jane2016 于 2013-04-12 01:45:40 编辑
我运行Hibernate4.2 的 帮助文档 Getting Started Guide 里面的第3个例子,
也就是 Chapter 3. Tutorial Using Native Hibernate APIs and Annotation Mappings。
对应的代码是:quickstart\en-US\html_single\files\hibernate-tutorials\annotations。
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "EVENT_DATE")
private Date getDate() {
? ? return date;
}
@Temporal:这个是JPA里面的注解,文档里面说:
This annotation must be specified for persistent fields or properties of type java.util.Date and java.util.Calendar. It may only be specified for fields or properties of these types.

这大意是说对日期类型的字段,必须使用这个标注,为什么我去掉了也还是可以呢?
Hibernate JPA

------解决方案--------------------
这些没想过。弄清这些问题,还来只能去扒源代码了,看看是怎么设计的
------解决方案--------------------
@Temporal(TemporalType.TIMESTAMP) 是为了默认给它赋值的,取当前时间
------解决方案--------------------
@Entity
@Table( name = "EVENTS" ) //是表名称
public class Event {
}

@Entity(table="EVENT")  //实体名称,你修改实体名称后Query查询的时候就知道差别了
public class Event {
}