我有两类:映射两个类来在休眠表,而不插入字段表
@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