使用ebean作为orm,我有以下模型类:
@Entity
@Table(name = "update_proposition")
public class UpdateProposition extends Model {
@EmbeddedId
public UpdatePropositionKey id;
public String fieldName;
public String oldValue;
public String newValue;
@Embeddable
public class UpdatePropositionKey implements Serializable {
@ManyToOne
@JoinColumn(name = "update_request")
public UpdateRequest updateRequest;
public Date date;
@Id
public int serial;
@Override
public int hashCode() {
return super.hashCode();
}
@Override
public boolean equals(final Object obj) {
return super.equals(obj);
}
}
}
我的目标是用一个外键、一个日期和一个自动递增的序列号Map一个主键复合的表。例如,这个模型抛出 RuntimeException: Error reading annotations
. 如何实现我的用例?
一旦这个问题解决了,如何分配日期和外键?图案会像这样吗 updateProposition.id.date = Calendar.getInstance().getTime()
工作顺利吗?
谢谢你的帮助。
1条答案
按热度按时间c9x0cxw01#
我找到了这个问题的解决办法。您的错误是由于updatepropositionkey类中的@manytoone注解造成的。我将此关系移动到updateproposition类,只留下updaterequest.id。所以现在有两个从updateproposition类到updaterequest类的Map。一个是通过复合键,第二个是通过@manytone关系。两个Map使用同一列。此外,@joincolumn annotation的“updateable”和“insertable”属性设置为false。所有这些更改之后,代码如下所示: