0

我有一个带有 JPA 注释的 Java bean/模型类,如下所示。这个类有一个复合键,如下所示。在DAO.java我如何设置这个复合键的键?

@EmbeddedId
@AttributeOverrides({
    @AttributeOverride(name = "ratioFunctionId", column = @Column(name = "ratio_function_id", nullable = false, scale = 0)),
    @AttributeOverride(name = "expressionId", column = @Column(name = "expression_id", nullable = false, scale = 0))
})
public RatioFunctionExpressionId getId() {
    return this.id;
}

public void setId(RatioFunctionExpressionId id) {
    this.id = id;
}
4

1 回答 1

1

为了给这个属性设置一个值,只需创建一个新实例并分配它:

RatioFunctionExpressionId newId = new RatioFunctionExpressionId();
newId.setRatioFunctionId(aFunctionId);
newId.setExpressionId(anExpressionId);
aRatioFunctionExpression.setId(newId);

请记住,作为RatioFunctionExpressionId一个@Embeddable,它不需要自己的 id,因为它本身并不代表一个实体。它只是为了提供属性定义的分组以便于组合和模块化。

于 2013-07-17T15:40:59.697 回答