No video

Выпуск 154. Что такое Embeddable-классы в Hibernate/JPA.

  Рет қаралды 3,973

Изучаем Java

Изучаем Java

Күн бұрын

Структура объектов доменной модели может не совпадать со структурой таблиц. В качестве одного из решений может быть Embeddable-класс.
Напоминаю:
- исходные коды проекта находятся на GitHub. Подробности в "Выпуск 16. Где взять тексты программы ?"
- для тех, кто уже смотрел, прямые ссылки:
github.com/java-webinars/stud..., github.com/java-webinars/java... и github.com/java-webinars/ext-...
- более простой проект вы можете посмотреть по ссылке java-course.ru/begin/

Пікірлер: 19
@CherepX
@CherepX 3 жыл бұрын
Спасибо! Частота появления новых выпусков радует!)
@lisafox9026
@lisafox9026 4 ай бұрын
просто совет .. если вы объясняете про @Embeddable и @Embedded, просто сделать ID и колонки для этих двух аннотаций и НЕ более того.. очень сложно высматривать суть среди большого незнакомого количества кода...
@torvlobnorpuzdoy2198
@torvlobnorpuzdoy2198 3 жыл бұрын
HD появилось , это радует отдельно )
@vitkupri5324
@vitkupri5324 3 жыл бұрын
Огромное спасибо, за Ваш труд. Так получилось что вынужден искать новый проект в работе, а значит и повышать свои навыки. У Вас так построены лекции, что все понятно. Если можно и у Вас будет желание, покажите пожалуйста подобное начало проекта на спринге, только используя то, что генерится на их сайте (например проект с Tomkat и H2). Лично мне кажется что они там перемудрили и без Вашей помощи пока буксую. Заранее спасибо!
@java8599
@java8599 3 жыл бұрын
Не очень понял вопрос - если речь идет о том, что "генерится на сайте", то это SpringBoot наверно. Или я что-то не так понял. Если речь идет о приложении с испольованием Spring - начиная с выпуска 121 или 153 в этом же плейлисте.
@vitkupri5324
@vitkupri5324 3 жыл бұрын
@@java8599 Да, все верно поняли, именно там есть проблемы в зависимости от набора компонент, которые набираешь для изучения и часто это такой blackbox, что перерыв подобные ошибки в инете так и не находишь ответа как пофиксить IllegalStateException и продолжить работу с проектом. Буду дальше копать глубже. Спасибо за ответ!
@user-qz1ic6yb5v
@user-qz1ic6yb5v 3 жыл бұрын
Добрый день. Наследование вынесено на сторону hibernate?
@java8599
@java8599 3 жыл бұрын
Не понял вопрос.
@user-gb2cd6ge7z
@user-gb2cd6ge7z 2 жыл бұрын
Нихера не понял. Так что такое Embeddable-классы, нужна ли таблица для этого класса, как происходит все это? Несколько раз пытался черпать инфу с этого канала, результат прежний. Смысл и правила использования Embeddable не раскрывается.
@java8599
@java8599 2 жыл бұрын
Не нужна таблица. Идея в следующем: есть таблица. В ней есть запсь о персоне 1 и персоне 2. Это не отдельные таблицы - для персоны 1 и персоны два набор колонок одинаковый, но имена конечно же разные. Для жены и мужа. У жены все начинается с "w_", у муха - "h_". Но смысл этих колонок олинаковый - например имя, фамилия, отчество. Тогда можно создать класс, который будет отображаться на некий абстрактный набор колонок - он и есть Embeddable, а потом уже для конкретной таблицы его можно прописать по-настоящему.
@user-gb2cd6ge7z
@user-gb2cd6ge7z 2 жыл бұрын
@@java8599 Т.е. мы в этот класс выносим часть таблицы и используем потом в других сущностях. Например, контактную информацию из таблицы мы можем вынести в класс и использовать его, с помощью аннотаций, в других сущностях. Я правильно понимаю?
@java8599
@java8599 2 жыл бұрын
@@user-gb2cd6ge7z Близко к истине. Мы как бы группируем набор колонок (возможных, абстрактных) в один класс и такой набор колонок мы можем использовать для ДРУГОЙ РЕАЛЬНОЙ таблицы. И что крайне важно - у нас есть возможность переименовать эти колонки, если в другой таблице эти колонки называются по-другому. Т.е. если у нас есть ФИО, то мы можем создать класс, который мы можем "внедрить" (embed) в любой класс, который реально отображается на таблице и в этой таблице есть колонки ля ФИО. Причем названия колонок не должны обязательно совпадать. Таким образом, если есть много таблиц с колонками для ФИО, мы может использовать один и тот же класс ля всех этих таблиц.
@user-gb2cd6ge7z
@user-gb2cd6ge7z 2 жыл бұрын
@@java8599 Я вот не могу найти толково информации где можно подробно прочесть про это. Официальная документация очень сложная. Может у вас есть где прочесть подробно?
@java8599
@java8599 2 жыл бұрын
@@user-gb2cd6ge7z В нашем проекте мы сделали еще интереснее - у нас в ОДНОЙ таблице есть одинаковые группы колонок - ФИО, дата рожления и т.д. Для мужа и жены. Это два ВЗРОСЛЫХ и данные об обоих находтся в одной таблице. Колонки разные, но их назначение одинаковое. И мы использовали Embedded класс для того, точбы было удобно - мы создем двух ВЗРОСЛЫХ (муж и жена) и записываем их в рзаные колонки одной и той же таблицы.
ПОМОГЛА НАЗЫВАЕТСЯ😂
00:20
Chapitosiki
Рет қаралды 22 МЛН
لقد سرقت حلوى القطن بشكل خفي لأصنع مصاصة🤫😎
00:33
Cool Tool SHORTS Arabic
Рет қаралды 30 МЛН
Best Toilet Gadgets and #Hacks you must try!!💩💩
00:49
Poly Holy Yow
Рет қаралды 23 МЛН
艾莎撒娇得到王子的原谅#艾莎
00:24
在逃的公主
Рет қаралды 28 МЛН
SkyOS - An operating system that was developed by one person
12:33
Марк Аддерли
Рет қаралды 1 М.
Визуализация гравитации
10:00
Макар Светлый
Рет қаралды 13 МЛН
Как долго украинская армия сможет оставаться в Курской области?
37:46
How did the Enigma Machine work?
19:26
Jared Owen
Рет қаралды 9 МЛН
ПОМОГЛА НАЗЫВАЕТСЯ😂
00:20
Chapitosiki
Рет қаралды 22 МЛН