我有一个视图用以下列表示一些统计信息:
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满意的所有列?
答案 0 :(得分:1)
我对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;
}
}