hibernate使用注解实现一个实体类对应多张表

使用ssh框架,实现对相同表结构不同表名的操作

一般情况下项目中每个表都有其对应的实体类,但在两个表结构相同的情况下两个实体类除了类名不同,其他属性完全相同,所以没有必要写两个,可以这样做,下面直接上代码

实体类 AdsAlert.java

get() set()自己加

@Entity
@Table(name=“ads_alert”)
public class AdsAlert implements java.io.Serializable {
private String id;
private String node_id;
private String type;
private String device_gid;
private String device_name;
private String alert_level;

}

配置文件 hibernate.cfg.xml

<mapping class=“com.hcycom.pm.entity.antiddos.AdsAlert” />

注解配置类只用class

查询 AdsAlertDao.java

public List queryAlertByStimeAndCusName(String startTime, String endTime, String customerName) {
Session session = super.getSf().getCurrentSession();
String hql = "select * from ads_alert_cn2 where node_id=3order by id ";
// String hql = "select * from ads_alert where node_id=3order by id ";
SQLQuery query = session.createSQLQuery(hql);
query.addEntity(AdsAlert.class);
return query.list();
}

使用query.addEntity(AdsAlert.class);实现不同表名对同一实体的映射

[参考] http://blog.csdn.net/majian_1987/article/details/8725197

猜你喜欢

转载自blog.csdn.net/qq_38631790/article/details/89353381