我有兩類:映射兩個類來在休眠表,而不插入字段表
@Entity
@Table(name="shops")
public class Shops {
private Integer id;
private String name;
// ...
}
@Entity
public class ShopsPlus extends Shops {
public Double latitude;
public Double longitude;
// ...
}
類「商店」,以反映「商店」表(正常實體)被使用。 第二類('ShopsPlus')包含幾個附加字段,它們不在第一個類中,並且用於從計算字段查詢中獲取結果。
實施例:
Query query = session.createSQLQuery("SELECT shops.id, shops.name
COS(?) AS latitude, /*example*/
SIN(?) AS longitude /*example*/
FROM shops
WHERE localities.name = ?
AND localities.id = shops.locality_id;")
.addEntity(ShopsPlus.class)
.setString(0, a.toString())
.setString(1, a.toString())
.setString(2, cityName);
List<Shops> shops = query.list();
之後,表中有三個過量字段: '緯度', '經度' 和 'DTYPE'。
如何禁止班級「ShopsPlus」對錶格進行更改,但爲此留下了「商店」的機會?
只有在清除繼承時它纔有效。 但同時也是最好的選擇。謝謝! – Alexiuscrow 2015-04-06 00:09:22