<hibernate-mapping>
<class name="com.yacol.hibernate.ProviderResource" table="provider_resource" catalog="yacol">
<composite-id name="id" class="com.yacol.hibernate.ProviderResourceId">
<key-property name="providerId" type="string">
<column name="provider_id" length="12" />
</key-property>
<key-property name="resourceId" type="string">
<column name="resource_id" length="12" />
</key-property>
</composite-id>
<property name="totalScore" type="integer">
<column name="total_score" />
</property>
<property name="environmentScore" type="short">
<column name="environment_score" />
</property>
<property name="serviceScore" type="short">
<column name="service_score" />
</property>
<property name="priceScore" type="short">
<column name="price_score" />
</property>
</class>
</hibernate-mapping>
<class name="com.yacol.hibernate.ProviderResource" table="provider_resource" catalog="yacol">
<composite-id name="id" class="com.yacol.hibernate.ProviderResourceId">
<key-property name="providerId" type="string">
<column name="provider_id" length="12" />
</key-property>
<key-property name="resourceId" type="string">
<column name="resource_id" length="12" />
</key-property>
</composite-id>
<property name="totalScore" type="integer">
<column name="total_score" />
</property>
<property name="environmentScore" type="short">
<column name="environment_score" />
</property>
<property name="serviceScore" type="short">
<column name="service_score" />
</property>
<property name="priceScore" type="short">
<column name="price_score" />
</property>
</class>
</hibernate-mapping>
可以考虑用load和save方法
id.setProviderId(mr.getProviderId());
id.setResourceId(mr.getResourceId());ProviderResource pr = hibernateSession.load(ProviderResource.class, id);
pr.setEnvironmentScore((int)totalEnvironmentScore);
...设置要更新属性, 省略
hibernateSession.save(pr);