我不明白如何在集合
中定义复合键,包括一个外键这是我的对象:
MyObject MySubset
-------- -------------
String myId String subAttribute
String myAttribute String subValue
Set<MySubset> mySubset
我希望有两个表 MyObjectTable 和 MySubsetTable 。 myId 是 MyObjectTable 的主键。我想将FK myId 和 subAttribute 定义为 MySubsetTable 的复合键。
xml中的hibernate映射会是什么样的?
<hibernate-mapping>
<class table="myObjectTable" name="MyObject">
<id name="myId">
<column name="myId"/>
</id>
<property name="myAttribute"> <column name=....> </property>
<set cascade="all, delete-orphan table="MySubsetTable" name"mySubset" ...>
<!-- How should I define my key? -->
<composite-element class="MySubset">
<property name="subAttribute"> <column name="subAttribute"/> </property>
<property name="subValue"> <column name="subValue"/> </property>
</composite-element>
</set>
</class>
</hibernate-mapping>
答案 0 :(得分:0)
我通过不使用集合而是使用地图解决了我的问题:
<form methord="post" name="wordsubmit" id="submit">
<div class="inner">
<input class="word" name="word" placeholder="Your Word" type="text"/>
<select class="country" name="country" size='1'>
<option value="">Your country</option>
</select>
<select class="age" name="age" size='1'>
<option value="">Age</option>
<option value="18-24">18-24</option>
<option value="25-34">25-34</option>
<option value="35+">35+</option>
</select>
<select class="sex" name="sex" size='1'>
<option value="">Sex</option>
<option value="Male">Male</option>
<option vlaue="Female">Female</option>
</select>
</div>
<input class="submit" name="submit" type="submit" value="Submit"/>
</form>
也许这有助于其他人...