Я скачал гибернации один-ко-многим пример, который имел следующий файл отображения:Где родительские/дочерние отношения хранятся в Hibernate?
<hibernate-mapping>
<class name="Employee" table="EMPLOYEE">
<meta attribute="class-description">
This class contains the employee detail.
</meta>
<id name="id" type="int" column="id">
<generator class="native"/>
</id>
<set name="certificates" cascade="all">
<key column="employee_id"/>
<one-to-many class="Certificate"/>
</set>
<property name="firstName" column="first_name" type="string"/>
<property name="lastName" column="last_name" type="string"/>
<property name="salary" column="salary" type="int"/>
</class>
<class name="Certificate" table="CERTIFICATE">
<meta attribute="class-description">
This class contains the certificate records.
</meta>
<id name="id" type="int" column="id">
<generator class="native"/>
</id>
<property name="name" column="certificate_name" type="string"/>
</class>
</hibernate-mapping>
Программа проходит гладко, но я новичок в спящий режим, я просто хочу понять, что информацию о сотрудниках хранится в таблице СОТРУДНИК информация сертификата хранится в таблице сЕРТИФИКАТ, теперь, потому что один сотрудник может иметь множество сертификатов, которые мы использовали один-ко-многим, т.е., добавив в файл отображения:
<set name="certificates" cascade="all">
<key column="employee_id"/>
<one-to-many class="Certificate"/>
</set>
Но теперь то, что я хочу, чтобы понять, что когда мы получаем запись из таблицы EMPLOYEE, как я могу получить доступ к сертификату что я не понимаю, так это то, что моя таблица EMPLOYEE имеет только четыре столбца «id», «firstname», «lastname» и «pay», поэтому, когда я беру запись, объект также имеет сертификаты ,
Во многих случаях обычно используется ссылочная (промежуточная) таблица. Это позволяет SQL или любой другой базе данных поддерживать отношения и спящий режим просто полагается на сопоставление, чтобы вытащить нужный материал из базы данных. Но как это работает с отображением «один ко многим»?
Пожалуйста, посмотрите, что я спрашиваю, таблица EMPLOYEE имеет только четыре столбца. Идентификатор id, firstname, lastname, зарплата и таблица имеют только два идентификатора и имени. Когда я беру запись у сотрудника, я могу вытащить его сертификаты, которые, как я знаю, это то, как работает спящий режим, но как это происходит. Когда хранятся дочерние отношения родителя –
Я не знаю, это то, о чем вы говорили, но после многих исследований это все, что я нашел ». В таблице CERTIFICATE будет столбец с именем« employee_id »(который ссылается на id-столбец вашей таблицы EMPLOYEE и принудительно применяется с помощью ограничения внешнего ключа.) «В любом случае, спасибо за ваш ответ, я отметил его как ответ и одобрен. –
Да. Об этом я упомянул в первом посте. Спасибо :) – ShadowHunter