首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在hibernate中使用<复合映射键>

如何在hibernate中使用<复合映射键>
EN

Stack Overflow用户
提问于 2014-09-04 07:17:31
回答 1查看 1.3K关注 0票数 1

根据Hibernate文档,我们可以使用组件作为映射的键,使用<composite-map-key>标记。所以我试着创建一个程序来理解它是如何工作的,但是却被困在如何创建映射文件上。

我已经声明了一个pojo类,用于:

Person.java

代码语言:javascript
复制
public class Person {
    private java.util.Date birthday;
    private Map<Name, String> someNames = new HashMap<Name,String>();
    private int id;
    // Setters & Getters   
}

组件类Name.java

代码语言:javascript
复制
public class Name {
    String first;
    String last;
  // Setters & Getters    
}

我试图创建映射文件,但我不确定它应该是什么样子,下面是不正确的文件:

代码语言:javascript
复制
<hibernate-mapping>
    <class name="Person" table="test_person">
        <id name="id" column="pid" type="int">
            <generator class="increment" />
        </id>
        <property name="birthday" type="date" />
        <map name="someNames" table="test_person_names">
            <key column="person_id"></key>
            <composite-map-key class="Name">
                <key-property name="first" column="first1"></key-property>
                <key-property name="last" column="last1"></key-property>
            </composite-map-key>
            <property name="initial" column="initial1" />
        </map>
    </class>
</hibernate-mapping>

当我试图获得会话工厂时,我会得到一个异常,它说:

由:(map-key|composite-map-key|map-key-many-to-many|index|composite-index|index-many-to-many|index-many-to-any),(element|one-to-many|many-to-many|composite-element|many-to-any),:元素类型“org.xml.sax.SAXParseException”的内容必须匹配(元*、子选择?、缓存?、同步*、注释?、键、org.xml.sax.SAXParseException加载器?、sql?、sql?、subselect?、subselect all?、filter*)“。

有人能帮我吗?我们怎么才能用composite-map-key来使用组件作为地图的关键?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-04 07:27:36

这句话是错的:

代码语言:javascript
复制
<property name="initial" column="initial1" />

它应该是:

代码语言:javascript
复制
<element type="string" column="initial1" />

其他事情:记住在equals & hashCode中实现Name

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25659438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档