问题描述
有这样三个类:Resource(资源),Attribute(属性),Spec(词条)。他们的关系是一个资源的一个属性是一个或多个词条的集合。Resource有个属性是privateMap<Attribute,Set<Spec>>specs=newHashMap<Attribute,Set<Spec>>();数据表有resouce表,attribute表,和spec表还有一个关联表用resouce_id,attribute_id,spec_id做联合主键。请问这样的结构如何用Hibernate映射?一般的三重关联这么写:<classname="Resource"><idname="id"><generatorclass="identity"></generator></id><propertyname="name"></property><mapname="specs"><keycolumn="resource_id"/><map-key-many-to-manycolumn="attribute_id"class="Attribute"/><many-to-manycolumn="spec_id"class="Spec"/></map></class>但这样写只能实现一个resouce的一个attribute是一个spec。没法实现多个spec的集合。用Hibernate生成的关联表也是resouce_id,attribute_id复合主键,而不是三个组成的复合主键。有没有解决方案?
时间: 2024-12-24 00:48:28