2014-02-13 85 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!

相關問題