在Hibernate中填充标记为瞬态的对象属性

时间:2014-02-13 07:55:25

标签: java hibernate

我的Hibernate实体类中有一个属性,标记为瞬态。

现在,在不删除@Transient的情况下,我想填充该对象,我正在使用@Formula。代码位于

下面
@Entity
@Table(name = "EXCHANGE_VALIDATION_FIELD_LIST")
public class ExchangeValidation {

    @Id
    @Column(name = "VALIDATION_FIELD_ID", nullable = false)
    public Integer getId() {
        return this.id;
    }

   @Formula("(select ec from ExchangeCode ec, ExchangeValidation ev where ec.validationFieldId = ev.id")  -- 1)
    @Formula("(select ec from ExchangeCode ec where ec.validationFieldId = id") -- 2)
    @Transient
    public ExchangeCode getExchangeCode() {
    return exchangeCode;
    }

}

我尝试了1)以及2)但仍然是ExchangeCode对象给出null。 ExchangeCode是另一个实体。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您对@Transient Annoation的期望是什么?

供参考: a method annotated as @Transient, and will be ignored by the entity manager Hibernate Manual

删除注释并尝试使用简单查询,例如先计算行数。 请注意,Formula是本机SQL而不是HQL!