我的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是另一个实体。
有人可以帮忙吗?
答案 0 :(得分:0)
您对@Transient Annoation的期望是什么?
供参考:
a method annotated as @Transient, and will be ignored by the entity manager
Hibernate Manual
删除注释并尝试使用简单查询,例如先计算行数。 请注意,Formula是本机SQL而不是HQL!