2014-02-13 51 views
0

我的Hibernate实体类中有一个属性,它被标记为瞬态。在Hibernate中填充标记为瞬态的对象属性

现在,无需拆卸@Transient,我想填充该对象,我使用@Formula .The代码如下

@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对象是给空。 ExchangeCode是另一个实体。

有人可以帮忙吗?

+0

它应该是@ManyToOne映射而不是公式 – jbaliuka

回答

0

你对@Transient Annoation有什么期望?

FYI: a method annotated as @Transient, and will be ignored by the entity managerHibernate Manual

删除注释,并用一个简单的查询尝试像第一计算行数。 请注意,公式是非HQL的本机SQL!

相关问题