Как я могу сделать это отображение спящего режима? - PullRequest
0 голосов
/ 08 февраля 2012

Для ознакомления с проблемой ...

У меня есть группа таблиц, связанных с конкретной таблицей.Теперь для связи между ними и «table_one» я создал только таблицу, в которой первичный ключ состоит из:

id_table_one, id_table_many, id_table_many_type.

Первый указывает идентификатор table_one, второй - идентификатор table_many (любого из них), а третий ключ представляет собой строку, которая указывает тип таблицы.

Более конкретный пример:

1, 1, «таблица 1» -> указывает на связь между table_many «таблица 1» (строка 1) и строкой 1 table_one

3, 5, «таблица 1» -> указывает на связь между table_many «таблица 1» (строка 5) и строкой 3 table_one

3, 5, «таблица 2»«-> указывает на связь между table_many« table 2 »(строка 5) и строкой 3 table_one

Это легко сделать в SQL, но вопрос в том, как я могу сделать отображение hibernateв каждом table_many?

Я объявил table_one следующим образом:

<class name="tableOne" table="table_one">
    <composite-id>
        <key-property name="idTableOne"  type="java.lang.Integer">
            <column name="id_table_one" not-null="true"/>
        </key-property>
        <key-property name="idTableMany"  type="java.lang.Integer">
            <column name="id_table_many" not-null="true"/>
        </key-property>
        <key-property name="idTableManyType" type="string">
            <column name="id_table_many_type" length="100" not-null="true"/>
        </key-property>
    </composite-id>
</class> 

Как я могу сделать во многих таблицах?

<class name="tableMany1" table="table_many_1">
    <id name="idTableMany1" type="java.lang.Integer">
        <column name="id_table_many_1" />
        <generator class="identity" />
    </id>
    <set cascade="all" name="tableOneRows" sort="unsorted"
        table="table_one"  lazy="false">
        <...>
    </set>
</class>

Я не знаюкак заполнить раздел <...> ... какой-нибудь совет?

Завершение, которое я преследую, заключается в управлении таблицей One (чтение / запись) из каждой таблицыMany ...

спасибо всем!

1 Ответ

0 голосов
/ 08 февраля 2012

это только для чтения.

  <class name="One" table="table_one">
    <id name="Id" column="id">
    </id>
  </class>

  <class name="Many1" table="table_many_1">
    <id name="id">
      <column name="id_table_many_1" />
      <generator class="identity" />
    </id>
    <set cascade="all" name="Ones" table="linking_table" lazy="false" where="id_table_many_type = 'table 1'">
      <key column ="id_table_many" />
      <many-to-many column="d_table_one" class="One" />
    </set>
  </class>

часть записи зависит от: является ли от table_one к table_many1 ассоциацией 1: n или n: m?

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