Hibernate IndexColumn с картой - PullRequest
       2

Hibernate IndexColumn с картой

0 голосов
/ 01 декабря 2011

Я пытаюсь отобразить коллекцию (типа map).

Below are the tables
Product:
  PID -  primary key
  NAME

ProductProperties:
   ID - primary key auto_increment
   PID - FK references Product(ID)(INDEXED)
   KEY - (INDEXED)
   VALUE

И ниже файл hbm, используемый для отображения

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.test.Product" table="product" catalog="cart">
        <id name="pid" type="long">
            <column name="pid" />
            <generator class="assigned" />
        </id>
        <property name="name" type="string">
            <column name="name" length="100" not-null="true" />
        </property>
        <map name="properties" table="properties"  cascade="all">
            <key column="pid" not-null="true"/>
            <map-key column="key" type="string"/>
            <element column="value" type="string"/>
        </map>
    </class>
 </hibernate-mapping>

Во многих примерах я вижувместо.

У меня есть несколько вопросов по этому поводу.

  1. Почему IndexColumn используется вместо ключа карты?
  2. Что лучше?IndexColumn ИЛИ map-key
  3. Где я могу найти подробную документацию, чтобы узнать об IndexColumn и map-key?

Пожалуйста, помогите и заранее спасибо.

1 Ответ

0 голосов
/ 05 декабря 2011

Вы хотите спросить разницу между

<map ...>
    <map-key .../>
</map>

и

<map ...>
    <index .../>
</map>

Во время выполнения они интерпретируются точно так же. Я думаю, был сохранен для обратной совместимости с Hibernate 2.0, где они использовали один и тот же элемент для

и . В hibernate 3.0 предпочтительным является <ключ-карты>.

Для документации я использую только ссылку, но она не дает вам много подробностей. Если вы не прочитали DTD: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...