Hibernate 3.0: как определить набор String, сопоставленный с составным идентификатором в файле hbm.xml

Я пишу файл order.hbm.xml для моего класса POJO, как показано ниже, используя Hibernate 3.0

import java.util.Set;

public class OrderDAO 
{   
    private EmbeddedCustDAO embedCustID;

    private Set<String> custOrderSet;

    private String totalAmount;

    public EmbeddedCustDAO getEmbedCustID()
    {
        return embedCustID;
    }

    public void setEmbedCustID(EmbeddedCustDAO embedCustID)
    {
        this.embedCustID = embedCustID;
    }

    public Set<String> getCustOrderSet()
    {
        return custOrderSet;
    }

    public void setCustOrderSet(Set<String> custOrderSet) 
    {
        this.custOrderSet = custOrderSet;
    }

    public String getTotalAmount() 
    {
        return totalAmount;
    }

    public void setTotalAmount(String totalAmount) 
    {
        this.totalAmount = totalAmount;
    }
}

Класс встроенного / составного идентификатора:

public class EmbeddedCustDAO
{
    private String customerName;

    private String custAddress;

    public String getCustomerName()
    {
        return customerName;
    }

    public void setCustomerName(String customerName)
    {
        this.customerName = customerName;
    }

    public String getCustAddress()
    {
        return custAddress;
    }

    public void setCustAddress(String custAddress) 
    {
        this.custAddress = custAddress;
    }
}

Файл order.hbm.xml, который я написал,

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC  
   "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="org.harish.dao.OrderDAO"
        table="order_table">
        <composite-id name="embedCustId"
            class="org.harish.dao.EmbeddedCustDAO">
            <key-property name="customerName"/>
            <key-property name="custAddress" />
        </composite-id>
        <set name="custOrderSet">
            <key column="??" />
            <element type="string" column="??"/>
        </set>
        <property name="totalAmount" />
    </class>
</hibernate-mapping>

Я не уверен, как объявить набор в order.hbm.xml выше. Я прошел через Hibernate 3.0. Он упоминает ключевой столбец в наборе как имя столбца первичного ключа, определенного в.hbm.xml. Но с составным идентификатором, что будет именем столбца? Требуется ли здесь однозначное сопоставление для набора?

0 ответов

Другие вопросы по тегам