1,首先要确定视图的结构
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.jsyl.bean.assets.TbChangeAssets" entity-name="TbChangeAssets">
<!-- 建立视图的sql语句 -->
<subselect>
select distinct a.asid,a.called,a.declaration,c.name as oldusername,cc.name as newusername,d.name
as oldpartment,dd.name as newpartment,b.checkpartment from tb_assets a ,tb_addassets b ,
tb_user c,tb_user cc ,tb_partment d,tb_partment dd where a.asid = b.asid and a.aid = c.aid and
a.partment = d.partment and b.aid = cc.aid and b.partment = dd.partment
</subselect>
<!--注意顺序,这里是说下面的表数据变后视图也变 -->
<synchronize table="TB_ASSETS"/>
<synchronize table="TB_ADDASSETS"/>
<synchronize table="TB_USER"/>
<synchronize table="TB_PARTMENT"/>
<!-- id,对应上面sql查出来的属性 -->
<composite-id>
<key-property name="asid" column="ASID" type="string" />
</composite-id>
<property name="called" column="CALLED" type="string" />
<property name="declaration" column="DECLARATION" type="string" />
<property name="oldusername" column="OLDUSERNAME" type="string" />
<property name="newusername" column="NEWUSERNAME" type="string" />
<property name="oldpartment" column="OLDPARTMENT" type="string" />
<property name="newpartment" column="NEWPARTMENT" type="string" />
<property name="checkpartment" column="CHECKPARTMENT" type="string" />
</class>
</hibernate-mapping>
2,pojo对于的类
public class TbChangeAssets implements java.io.Serializable {
private String asid;
private String called;
private String declaration;
private String oldusername;
private String newusername;
private String oldpartment;
private String newpartment;
private String checkpartment;
public String getAsid() {
return asid;
}
public void setAsid(String asid) {
this.asid = asid;
}
public String getCalled() {
return called;
}
public void setCalled(String called) {
this.called = called;
}
public String getDeclaration() {
return declaration;
}
public void setDeclaration(String declaration) {
this.declaration = declaration;
}
public String getOldusername() {
return oldusername;
}
public void setOldusername(String oldusername) {
this.oldusername = oldusername;
}
public String getNewusername() {
return newusername;
}
public void setNewusername(String newusername) {
this.newusername = newusername;
}
public String getOldpartment() {
return oldpartment;
}
public void setOldpartment(String oldpartment) {
this.oldpartment = oldpartment;
}
public String getNewpartment() {
return newpartment;
}
public void setNewpartment(String newpartment) {
this.newpartment = newpartment;
}
public String getCheckpartment() {
return checkpartment;
}
public void setCheckpartment(String checkpartment) {
this.checkpartment = checkpartment;
}
}
三,记得在hibernate.cfg.xml 中添加刚才的那个配置文件 TbChangeAssets.hbm.xml
四,测试