关于Hibernate 里面的视图映射
今天问题是映射了一个视图
反正把视图当表用
映射的时候映射出来的entity 里面有User,和UserID 两个类
然后我就懵逼了
紧接着百度,然后找到了这个
http://www.iteye.com/topic/357351
这个用法差不多是强制转换成了有主键的映射关系
没用用user 直接把Userid当初实体类来用
是在是厉害
然后随便拿了一字段凑成ID个过来用使用
然后我就改成了从
<class name="com.vlt.zc.entity.OUser" table="O_User" schema="dbo" catalog="CSIT_AG">
<composite-id name="id" class="com.vlt.zc.entity.OUserId">
<key-property name="uid" type="java.lang.String">
<column name="UID" length="200" />
</key-property>
<key-property name="loginName" type="java.lang.String">
<column name="LoginName" length="200" />
</key-property>
<key-property name="name" type="java.lang.String">
<column name="Name" length="256" />
</key-property>
<key-property name="state" type="java.lang.Integer">
<column name="State" />
</key-property>
<key-property name="phone" type="java.lang.String">
<column name="Phone" length="1" />
</key-property>
<key-property name="email" type="java.lang.String">
<column name="Email" length="1" />
</key-property>
<key-property name="roleid" type="java.lang.String">
<column name="roleid" length="200" />
</key-property>
<key-property name="pxzd" type="java.lang.String">
<column name="pxzd" length="40" />
</key-property>
</composite-id>
</class>
改成了
<class name="com.vlt.zc.entity.VlVideoCl" table="VL_VideoCl" schema="dbo" catalog="CSIT_AG">
<id name="videoListId" type="java.lang.Integer">
<column name="VideoListId" />
<generator class="identity" />
</id>
<property name="videoVid" type="java.lang.Integer">
<column name="VideoVid" />
</property>
<property name="videoPid" type="java.lang.String">
<column name="VideoPid" />
</property>
<property name="videoTime" type="java.lang.String">
<column name="VideoTime" />
</property>
</class>
但是,报错 is not mapped
没有这个表??????
你在逗我??
于是又去查询资料,然后得出结果
然后我终于发现是
!form 实体类 (Dao里面,不是表名)
简单的是form 后面跟的是实体类
也就是是
public List findAll() {
log.debug("finding all OUser instances");
try {
String queryString = "from OUser";
return getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}
改成
public List findAll() {
log.debug("finding all OUser instances");
try {
String queryString = "from OUserId";
return getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}