- 303
- 27 517
JavalinUa
Ukraine
เข้าร่วมเมื่อ 24 พ.ค. 2022
Доброго дня, шановне панство.
Мене звати Сергій. Я Java розробник. Я з тих розробників, яких хлібом не корми, дай щось покодити)
На цьому каналі буду ділитися своїм досвідом в розробці. Сподіваюсь Вам буде корисно.
Мене звати Сергій. Я Java розробник. Я з тих розробників, яких хлібом не корми, дай щось покодити)
На цьому каналі буду ділитися своїм досвідом в розробці. Сподіваюсь Вам буде корисно.
@EmbeddedId. @Embeddable. @ManyToOne як частина композитного ключа. Частина 3.
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами.
@Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами.
В тому числі може використовуватись як композитний первинний ключ.
GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів.
SequenceGenerator - анотація, яка визначає генератор первинного ключа, на який можна посилатися за назвою, коли елемент генератора вказано для анотації GeneratedValue.
Генератор послідовності може бути вказаний у класі сутності або в полі або властивості первинного ключа.
Область дії імені генератора є глобальною для одиниці збереження (для всіх типів генераторів).
Асоціації є фундаментальною концепцією в ORM, JPA та Hibernate.
Вони моделюють зв'язок між двома таблицями бази даних як атрибути у моделі.
Це дозволяє легко переміщатися по зв'язках у моделі та запитах JPQL або Criteria.
Двонаправлена асоціація - це зв'язок між двома сутностями, де кожна сутність має посилання на іншу.
Щоб визначити двонаправлені асоціації, ми використовуємо атрибут mappedBy в анотаціях @OneToOne, @OneToMany і @ManyToMany.
MapsId - анотація, використовується для отримання зв'язку one-to-one або many-to-one між двома сутностями шляхом відображення первинного ключа(PK) однієї сутності на зовнішній ключ(FK) іншої сутності.
Ця анотація використовується, коли нам потрібно використовувати спільний первинний ключ між двома об'єктами.
#освіта #java #programming #hibernate #postgresql #advancedprogramming #advancedjava
@Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами.
В тому числі може використовуватись як композитний первинний ключ.
GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів.
SequenceGenerator - анотація, яка визначає генератор первинного ключа, на який можна посилатися за назвою, коли елемент генератора вказано для анотації GeneratedValue.
Генератор послідовності може бути вказаний у класі сутності або в полі або властивості первинного ключа.
Область дії імені генератора є глобальною для одиниці збереження (для всіх типів генераторів).
Асоціації є фундаментальною концепцією в ORM, JPA та Hibernate.
Вони моделюють зв'язок між двома таблицями бази даних як атрибути у моделі.
Це дозволяє легко переміщатися по зв'язках у моделі та запитах JPQL або Criteria.
Двонаправлена асоціація - це зв'язок між двома сутностями, де кожна сутність має посилання на іншу.
Щоб визначити двонаправлені асоціації, ми використовуємо атрибут mappedBy в анотаціях @OneToOne, @OneToMany і @ManyToMany.
MapsId - анотація, використовується для отримання зв'язку one-to-one або many-to-one між двома сутностями шляхом відображення первинного ключа(PK) однієї сутності на зовнішній ключ(FK) іншої сутності.
Ця анотація використовується, коли нам потрібно використовувати спільний первинний ключ між двома об'єктами.
#освіта #java #programming #hibernate #postgresql #advancedprogramming #advancedjava
มุมมอง: 13
วีดีโอ
@EmbeddedId. @Embeddable. @OneToOne як частина композитного ключа. Частина 3.
มุมมอง 4112 ชั่วโมงที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. @ManyToOne як частина композитного ключа. Частина 2.
มุมมอง 2619 ชั่วโมงที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. @ManyToOne як частина композитного ключа.
มุมมอง 40วันที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. @OneToOne як частина композитного ключа. Частина 2.
มุมมอง 3414 วันที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. @OneToOne як частина композитного ключа.
มุมมอง 3214 วันที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. Асоціація багато до багатьох використовуючи третю сутність. Частина 2.
มุมมอง 4314 วันที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. Асоціація багато до багатьох використовуючи третю сутність.
มุมมอง 2121 วันที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. @ManyToMany.
มุมมอง 2721 วันที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. @OneToMany.
มุมมอง 3428 วันที่ผ่านมา
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. @OneToOne.
มุมมอง 31หลายเดือนก่อน
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. Генерація Id з @SequenceGenerator.
มุมมอง 30หลายเดือนก่อน
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - ано...
@EmbeddedId. @Embeddable. З автогенерацією.
มุมมอง 43หลายเดือนก่อน
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. 00:00 Вітання. 00:19 Оп...
@EmbeddedId. @Embeddable.
มุมมอง 35หลายเดือนก่อน
@EmbeddedId - анотація, яка використовується для керування композитними первинними ключами. @Embeddable - анотація, яка використовується для того, щоб оголосити, що клас буде вбудовано іншими об'єктами. В тому числ може використовуватись як композитний первинний ключ. 00:00 Вітання. 00:17 Опис теми. 02:07 Огляд сутності. 03:14 Створення таблиці. 04:26 Збереження. 05:38 Діставання. 07:39 Висново...
@IdClass. @ManyToOne як частина композитного ключа. Частина 2.
มุมมอง 34หลายเดือนก่อน
@IdClass - анотація, яка визначає клас як композитний ключ первинного ключа(Id), який зіставляється з кількома полями або властивостями сутності. В сутност та класі(композитний ключ) імена полів та їхн типи мають бути однаковими. GeneratedValue - анотація, яка забезпечує специфікацію стратегій генерації для значень первинних ключів. SequenceGenerator - анотація, яка визначає генератор первинног...
@IdClass. @ManyToOne як частина композитного ключа.
มุมมอง 36หลายเดือนก่อน
@IdClass. @ManyToOne як частина композитного ключа.
@IdClass. @OneToOne як частина композитного ключа. Частина 2.
มุมมอง 36หลายเดือนก่อน
@IdClass. @OneToOne як частина композитного ключа. Частина 2.
@IdClass. @OneToOne як частина композитного ключа.
มุมมอง 45หลายเดือนก่อน
@IdClass. @OneToOne як частина композитного ключа.
@IdClass. Асоціація багато до багатьох використовуючи третю сутність. Частина 2.
มุมมอง 36หลายเดือนก่อน
@IdClass. Асоціація багато до багатьох використовуючи третю сутність. Частина 2.
@IdClass. Асоціація багато до багатьох використовуючи третю сутність.
มุมมอง 32หลายเดือนก่อน
@IdClass. Асоціація багато до багатьох використовуючи третю сутність.
@IdClass. @OneToOne | JavalinUa | Java | Hibernate | Postgresql
มุมมอง 442 หลายเดือนก่อน
@IdClass. @OneToOne | JavalinUa | Java | Hibernate | Postgresql
@IdClass. Генерація Id з @SequenceGenerator | JavalinUa | Java | Hibernate | Postgresql
มุมมอง 442 หลายเดือนก่อน
@IdClass. Генерація Id з @SequenceGenerator | JavalinUa | Java | Hibernate | Postgresql
@IdClass. Id з автогенерацією | JavalinUa | Java | Hibernate | Postgresql
มุมมอง 562 หลายเดือนก่อน
@IdClass. Id з автогенерацією | JavalinUa | Java | Hibernate | Postgresql
@IdClass | JavalinUa | Java | Hibernate | Postgresql
มุมมอง 332 หลายเดือนก่อน
@IdClass | JavalinUa | Java | Hibernate | Postgresql
Поєднання сутностей без асоціації. TupleTransformer | JavalinUa | Java | Hibernate | Postgresql
มุมมอง 372 หลายเดือนก่อน
Поєднання сутностей без асоціації. TupleTransformer | JavalinUa | Java | Hibernate | Postgresql
Поєднання сутностей без асоціації. Один до багатьох | JavalinUa | Java | Hibernate | Postgresql
มุมมอง 332 หลายเดือนก่อน
Поєднання сутностей без асоціації. Один до багатьох | JavalinUa | Java | Hibernate | Postgresql
Поєднання сутностей без асоціації. Один до одного | JavalinUa | Java | Hibernate | Postgresql
มุมมอง 362 หลายเดือนก่อน
Поєднання сутностей без асоціації. Один до одного | JavalinUa | Java | Hibernate | Postgresql
Динамічний іменований запит | JavalinUa | Java | Hibernate | Postgresql
มุมมอง 422 หลายเดือนก่อน
Динамічний іменований запит | JavalinUa | Java | Hibernate | Postgresql
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Дякую за різнобічний огляд і підсвічені "казуси". Стосовно get Phone: Phone - "підлегла" сутність, тож пошук буде, скоріш за все, по наявному Person; Person не обов'язково матиме композитний ключ. Приклад же демонстраційний
Дякую. Навіть якщо "підлегла" сутність, якщо стоїть LAZY, то не повинно без явного звертання до цієї сутності діставати її із БД.
@javalinua , я не про LAZY, я про get by Id.
@@Volodymyr.Halytskyi Зрозумів. Так як, сутність є частиною композитного ключа, то без Person не обійтись.
@@javalinua , щодо lazy: а якщо зробити detach перед закриттям сесії?
Detach на що і з якою цілю?
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
От цікаво, чи може бути OneToOne, якщо в PhoneId буде сам Person, а не його Id
Поекспериментував. Якщо частиною композитного ключа є сутність, а не її ID, то @OneToOne поводиться як @ManyToOne. В такій реалізації, як у відео, додатково додається unique constraint до поля foreign key. (Hibernate 5.6.14 / Spring Boot 2.7.7)
Якщо була використана анотація @OneToOne, то асоціація буде один до одного не інакше.
Треба подивитись.
Пояснив чітко і без води. Для початківців і середніх рівнів розуміння цього повністю достатньо. Респект!
Дуже дякую. Приємного перегляду!
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Тобто для mysql при стратегії авто буде auto_increment, а для sql server - identity?
Hibernate створений так, щоб було однаково для всіх серверів. В енамі GenerationType можна ознайомитись із описом із кожним параметром.
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Мені цікаво а 1.як виклик notify одним Тредом повідомляється іншому Треду і він може продовжувати роботу? 2. А якщо буде 2 потоки чикати на wait секції а третій поток викличить notify який з двох потоків продовжить роботу
Вітаю. Дякую за розкрите питання. Відповіді можна отримати ознайомившись із цією статтею. www.baeldung.com/java-wait-notify Якщо важко із англійською, можна знайти переклад або в браузері переклад сторінки.
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Ми потребуємо Spring! Дякую...
Дякую. Буде. До того, як з ним працювати, треба ще інші теми розглянути.
Подвійні дужки, бо може бути in ((?,?),(?,?)) Зовнішні дужки - список значень, внутрішні - тюпл як значення Я так думаю. А чи не приймає get другим параметром vararg?
Стосовно дужок - логічно. Метод get другим параметром приймає об'єкт, який є Id сутності.
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Гарне відео. які ресурси можете порекомндувати з багатопоточності саме практичні якісь відео
Можете подивитись у мене на каналі. Або вбити в пошуку, в тому ж самому ютубі :)
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Варто ще б додати демонстрацію вибірки за частиною композитного ключа
Що маєте на увазі?
@@javalinua , вибрати всі сутності, в яких id.code має певне значення select * from phone where code = ?
І це треба через createQuery?
@@javalinua , думаю, що так. У Spring це можна зробити правильно іменувавши метод репозиторію. Але під капотом, скоріш за все, створюються якийсь HQL
В принципі можна, як загальне відео про композитний ключ після всіх відео по цій темі.
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Хочу в групу до такого ментора)
Мені би таку групу, в якій я ментор)
@@javalinua Можемо створити і набрати, наприклад з Доу або інших ресурсів.
А ідея цікава. Нажаль в мене немає часу на щось нове.
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
А якщо порівняти @IdClass з @EmbededId? Які переваги і недоліки у кожного з підходів?
А це цікава ідея. Варто порівняти. Дякую!
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Як же круто! Дякую ;)
І вам дякую. Приємного перегляду :)
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Вітаю. Менторством займаєтесь?)
Вітаю. Так. Пишіть на пошту java.life.ua@gmail.com)
Дякую за відповідь)
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Он воно як працює. Гарно дякую за пояснення☺
Дякую. Гарного перегляду.
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
На жаль не зрозуміло, чому там to.toString і при цьому усе запрацювало...
toString повертає шлях цього файлу. І якщо він directory/directory, то його не копіювати.
Нiчого не видно,нажаль.Чудовий матерiал
В якому сенсі не видно?
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Повний список відтворення по Hibernate - th-cam.com/play/PLwsHhsXepgTDIXdssSMvQ4s1R-HL8BWSH.html
Вітаю. Чи є індивідуальні заняття ?
Вітаю. Можу проводити. Нажаль зараз дуже занятий. В майбутньому.