2012-12-10 48 views
2

一个很简单的问题。 我有代表考虑下面的映射文件的顺序列表<String>映射在Hibernate上用复合键对象

类:

<hibernate-mapping> 
<class name="Order" table="hbmOrder"> 
    <composite-id name="key"> 
     <key-property name="OrderStatus" type="string" /> 
     <key-property name="OrderType" type="string" /> 
     <key-property name="version" type="integer" /> 
     <key-property name="orderId" type="string" /> 
    </composite-id> 
    <property name="ccy" type="string" /> 

我想添加一个新的属性,它是一个字符串的未排序列表保持销售名单人。可以有零个,一个或多个销售人员。

List<String> salesPersons; 

这已经打败了我。我最好的尝试,到目前为止是:

<list name="salesPersons" table="order_salesPersons"> 
     <key column="key" /> 
     <list-index column="index" /> 
     <many-to-many column="order_id" class="java.lang.string" /> 
    </list> 

这不是工作,因为:

  1. 这是一个许多一对多映射(我想这应该是一个一对多)
  2. Hibernate不支持类java.lang.string

另外,由于项目限制超出了我的控制范围,因此我无法使用注释。

我可以在下一个处理中找到大多数例子,处理更复杂的例子。再次,如果任何人都可以指向我一个简单的例子,这将是一个很大的帮助!

回答

2

而不是许多一对多使用元素:

<element column="order_id" type="java.lang.String"/> 
+0

您好,感谢。我认为这是问题的一半。但另一个问题是hbmOrder表的关键是有四列,所以失败。 – DUFF