如何在hibernate应用程序中为复合主键设置一个值

时间:2013-07-17 15:36:34

标签: hibernate jpa

我有一个带有JPA注释的Java bean / model类,如下所示。该类有一个复合键,如下所示。在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(){         返回this.id;     }

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

1 个答案:

答案 0 :(得分:0)

要为此属性设置值,只需创建一个新实例并指定它:

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

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