1
這個問題的性質是非常相似的一問here休眠 - 如何堅持其映射結合式
有人能提供一些線索爲爲什麼休眠決定忽略的財產,其中有一個公式,完全而持續。如果是這樣,堅持一個有公式的財產的選擇是什麼?有沒有額外的配置?
查詢由Hibernate觸發:
insert into fighterjet (max_speed, country, jet_id) values (?, ?, ?)
注休眠如何忽略插入查詢,其在HBM公式的「名稱」屬性。
HBM:
<hibernate-mapping>
<class name="com.fighterjet.FighterjetDO" table="fighterjet">
<id name="jetId" type="int" column="jet_id">
<generator class="increment" />
</id>
<property name="name" formula="Select 'hi' from dual" >
<column name="name"/>
</property>
<property name="maxSpeed">
<column name="max_speed" />
</property>
<property name="country">
<column name="country" />
</property>
</class>
</hibernate-mapping>
類:
public class FighterjetDO {
private Integer jetId;
private String name;
private Integer maxSpeed;
private String country;
public Integer getJetId() {
return jetId;
}
public void setJetId(Integer jetId) {
this.jetId = jetId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getMaxSpeed() {
return maxSpeed;
}
public void setMaxSpeed(Integer maxSpeed) {
this.maxSpeed = maxSpeed;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
@Override
public String toString() {
return "FighterJet [Jet_id=" + jetId + ", Name=" + name
+ ", Max Speed=" + maxSpeed + ", Country=" + country+ "]";
}
}
Thankyou Chaitanya。然而,在嘗試保存記錄時,休眠在嘗試插入之前不會觸發選擇。所以,即使我創建另一個只讀字段 - 說nameReadOnly,並有它的公式,並在其setter設置通過公式獲得的值命名。這個setter不會被調用,因爲hibernate在插入前不會觸發select。 – Nohsib 2014-09-10 19:16:11