Hibernate映射视图的问题(复合主键)
我新建了个了个视图,用这个视图生成了两个.java(一个xxxx.java,一个xxxxId.java)和一个xxxx.hbm.xml,这个xxx.hbm.xml中的内容如下:
<hibernate-mapping>
<class name="mappings.Viewciandpi" table="viewciandpi" catalog="myenglish">
<composite-id name="id" class="mappings.ViewciandpiId">
<key-property name="id" type="integer">
<column name="id" />
</key-property>
<key-property name="playDate" type="date">
<column name="PlayDate" length="10" />
</key-property>
<key-property name="name" type="string">
<column name="name" length="50"/>
</key-property>
<key-property name="title" type="string">
<column name="title" length="50" />
</key-property>
<key-property name="content" type="string">
<column name="Content" length="65535" />
</key-property>
</composite-id>
</class>
</hibernate-mapping>
现在的问题是:
1.我用hql查询出来的数据有一部分为null,经过我分析是因为这个复合主键的原因,其中content字段为空,由于这个,导致读取出来的对象是null
2.之后,我将<key-property name="content" type="string">删除掉,就没有空的问题了,但是getContent()确永远取不出东西来了,总是null
我从网上查询了下,得知视图肯定是要用复合主键,但怎么设置才能实现我的需求呢?
我试过在<composite-id ></composite-id>外层添加
<property name="content" type="string">
<column name="Content" length="65535" />
</property>
但会提示:
%%%% Error Creating SessionFactory %%%%
org.hibernate.PropertyNotFoundException: Could not find a getter for content in class mappings.Viewciandpi
请大家帮我看看是怎么回事!怎么设置才能解决我的问题? 请详细说下,谢谢