我有一个表示一些统计信息的视图,其中包含以下几列:
Count Month Year
我想使用Hibernate将该视图映射到具有相同字段的实体。看起来好像Hibernate允许您映射没有主键的实体,无论是复合键还是仅一列。
这是我要映射到视图的类:
@Entity @Table(name="UserRegistration")
public class UserRegistration {
private int year;
private int month;
private int count;
// Setters and getters omited...
}
如何在其中声明复合键,包括使Hibernate开心的所有列?
最佳答案
我对Java相当陌生,因此此解决方案可能看起来很粗糙。
请随时提供更优雅的一个!
这就是代码的样子:
// UserRegistrationPk.java file
@Embeddable
public class UserRegistrationPk implements Serializable {
private static final long serialVersionUID = 1L;
private int year;
private int month;
private int count;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
}
然后
// UserRegistration.java file
@Entity
@Table(name="UserRegistration")
public class UserRegistration {
@EmbeddedId private UserRegistrationPk data;
public UserRegistrationPk getData() {
return data;
}
public void setData(UserRegistrationPk data) {
this.data = data;
}
}