2009-09-21 147 views
1

我有一个遗留表,它使用一个保存日期作为表的自然主键的列。我试图用hibernate映射这个,但对于我的生活,我无法弄清楚如何让hibernate映射一个单一(非复合)自然键作为Id。使用Hibernate注释映射自然键

我把它映射这样的:

@Id 
@Temporal(TemporalType.TIMESTAMP) 
@Column(name = "HOLIDAY_DATE", unique = true, nullable = false, length = 7) 
public Date getHolidayDate() { 
    return holidayDate; 
} 

但休眠抱怨说在“配置getHolidayDate更多腋臭一个属性”

什么是做到这一点的正确方法?

回答

1

你确定它是Hibernate抱怨而不是你的IDE吗?

IntelliJ特别是已经知道抱怨@ Id和@Column被指定为同一方法的注释。然而,这是完全有效的。

如果你这样做(当您试图初始化一个SessionFactory如)从休眠收到此错误,请发表完整的堆栈跟踪以及整个班级(实体/属性注释)

+0

我已经看到了同样的问题谷歌。 – 2009-09-21 04:42:43