JPA java.util.Calendar映射相对于java.util.Date的优缺点

JPA java.util.Calendar映射相对于java.util.Date的优缺点,java,date,jpa,calendar,Java,Date,Jpa,Calendar,我们的实体中有特定的数据库日期映射,映射为java.util.Calendar,如: @Temporal( TemporalType.TIMESTAMP ) @Column( name = "END_DATE" ) private Calendar end; 注意,这是当前Oracle日期类型中的一种,其中包含日期和时间信息。我目前不明白为什么一个简单的java.util.Date就不够用(甚至工作得更好) Q: 将数据库日期时间列映射为java.util.Calendar而不是java.ut

我们的实体中有特定的数据库日期映射,映射为
java.util.Calendar
,如:

@Temporal( TemporalType.TIMESTAMP )
@Column( name = "END_DATE" )
private Calendar end;
注意,这是当前Oracle日期类型中的一种,其中包含日期和时间信息。我目前不明白为什么一个简单的
java.util.Date
就不够用(甚至工作得更好)

Q:

将数据库日期时间列映射为
java.util.Calendar
而不是
java.util.date
,有哪些优点和缺点

日历的一个缺点是使用JSF表单

<p:calendar value="#{managerBean.selectedEntity.end.time}"
            ...>
</p:calendar>

那么,
java.util.Calendar
java.util.Date
映射相比有哪些优势呢?

大量java.util.Date函数已被弃用,因此,如果应用程序需要对这些变量执行许多操作,则不应使用它。Joda Time是最可取的方法,而不是java.util.Date或java.util.Calendar

java.util.Date只剩下三个不推荐使用的函数,它们是构造函数gettime()和settime()。这可能会在处理代码时导致问题。为了实现简单的映射,java.util.Date就足够了

javax.el.PropertyNotFoundException: /view/blaMasterGrid.xhtml @138,62 value="#{managerBean.selectedEntity.end.time}": Target Unreachable, 'null' returned null at 
.
.
.