hibernate-entitymanager-3.4.0.GA.jar hibernate-annotations-3.4.0.GA.jar hibernate-commons-annotations-3.3.0.ga.jar hibernate-core-3.3.1.GA.jar javax.persistence.jar am using above jars to run jpa program but am getting below exception. org.hibernate.AnnotationException: @Temporal should only be set on a java.util.Date or java.util.Calendar property: asso_attrib_overrides.FulltimeEmployee.currentProjects. @Entity public class FulltimeEmployee extends Employee { @ElementCollection @CollectionTable(name="EMP_PROJECTS", [email protected](name="MY_EMP_ID")) @Temporal(TemporalType.DATE) @MapKeyJoinColumn(name="THE_PROJECT_ID") @Column(name="STARTDATE") protected Map<Project, Date> currentProjects; public Map<Project, Date> getCurrentProjects() { return currentProjects; } public void setCurrentProjects(Map<Project, Date> currentProjects) { this.currentProjects = currentProjects; }
0
A
回答
0
根据标签,您使用的是JPA 2.0。这并不完全正确,因为3.4是JPA 1.0的实现。只有3.5.x以上的Hibernate版本是JPA 2.0 API的实现。
这会导致问题,因为在JPA 2.0中引入了在ElementCollection中使用@Temporal的概念。这个错误并未被忽略,因为@Temporal注释已经存在于早期版本中,但是在JPA 2.0中扩展了用法以涵盖您的用例。其他注释仅在以后的规范中存在,这些注释都会被忽略,这也可能会导致问题。
你可以做的是将Hibernate更新到更新的版本,例如更新到3.6.10。如果您正在创建新软件,则不存在迁移问题,因此直接更新到4.x是有意义的。
2
我得到了同样的错误,事实证明,我在做
import java.sql.Date;
代替
import java.util.Date;
希望的同时使用日期,这可能是有帮助的
0
,返回类型必须成为日期。即java.util(import java.util.Date;)
private Date date;
@Temporal(TemporalType.DATE)
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
相关问题
- 1. EntityKey属性只能设置,LINQ2Entities
- 2. 属性内容只能设置一次
- 3. 属性“VisualTree”只能设置一次
- 4. 的的EntityKey属性只能设置
- 5. 属性“inlineXml”只能设置一次
- 6. 不能设置只读属性:PARAMS
- 7. 只能在Auto-Implemented Property的Setter上设置属性吗?
- 8. 设置只有setter属性
- 9. 属性上__proto__覆盖设置直接设置属性在Chrome
- 10. 错误:对象不能设置 - 或只读属性或没有setter发现
- 11. XAML:属性“内容”只能设置一次 - 虽然只设置一次
- 12. 如何设计属性只能设置一次的PHP类
- 13. 绑定只能在DependencyObject的DependencyProperty上设置 - 当属性被新的覆盖时
- 14. 如何获得属性获取或设置属性属性
- 15. C#未能在IEnumerable中设置属性
- 16. mustUnderstand属性不只是设置为false。
- 17. XAML如何设置只读CLR属性?
- 18. JavaScript:只读属性没有设置
- 19. 设置文件的只读属性
- 20. 如何设置只读属性?
- 21. Protobuf如何设置只读属性
- 22. AutoFixture.AutoMoq:将值设置为只读属性
- 23. 属性只应由串行器设置
- 24. 从方法设置只读属性
- 25. firebase只允许设置某些属性
- 26. 使只读属性可设置
- 27. 设置或覆盖基类的只读属性
- 28. 如何设置java.util.Date的fastTime?
- 29. 在面板或窗体上设置组件的可见属性
- 30. 在服务或服务合同上设置EndPointDispatcher和属性