這應該可以使用多對一的公式。從部分5.1.22. Column and formula elements(溶液同樣在這種previous answer提及):
column
和formula
屬性可以 甚至可以相同 屬性或關聯映射內組合以 表達例如,奇異的連接 條件。
<many-to-one name="homeAddress" class="Address"
insert="false" update="false">
<column name="person_id" not-null="true" length="10"/>
<formula>'MAILING'</formula>
</many-to-one>
使用註釋(如果你正在使用Hibernate 3.5.0-β-2 +,見HHH-4382):
@ManyToOne
@Formula(value="(select v_pipe_offerprice.offerprice_fk from v_pipe_offerprice where v_pipe_offerprice.id = id)")
public OfferPrice getOfferPrice() { return offerPrice; }
或許檢查@JoinColumnsOrFormula
:
@ManyToOne
@JoinColumnsOrFormulas(
{ @JoinColumnOrFormula([email protected](value="SUBSTR(product_idnf, 1, 3)", referencedColumnName="product_idnf")) })
@Fetch(FetchMode.JOIN)
private Product productFamily;
謝謝你這麼多.. @JoinColumnsOrFormula註釋完美工作。你先生是個紳士和學者。 – user373614 2010-06-23 03:47:13
@ user373614不客氣。 – 2010-06-23 11:50:46
這是什麼意思「'MAILING' 」? –
Carlos
2013-11-26 09:37:14