SlideShare a Scribd company logo
1 of 5
Download to read offline
КЛЮЧЕВЫЕ ПОНЯТИЯ
ORM
• Ключевое понятие Object-Relational Mapping (ORM) – концепция, подход к работе с БД
• Технология, которая позволяет работать с таблицами БД как с объектами
• Напрямую к БД код не обращается (хотя это возможно)
Код
БД
(таблицы)
ORM
(объекты)
JPA
• JavaEE – набор спецификаций, которые могут между собой взаимодействовать
• Все технологии и фреймворки в Java работают на спецификациях (стандартах, правилах)
• Если стандарта нет – его сначала придумывают (JSR), чтобы не было хаоса, разных версий и трактовок
(похоже на подход в ООП – сначала интерфейсы (спецификации, правила работы объектов) – затем
любое количество реализаций)
• JPA (Java Persistence API) – спецификация, документ, в котором описаны правила и API для реализации
принципов ORM для Java (аннотации, настройки, подход)
• JSR 338 (JPA 2.1) https://jcp.org/en/jsr/detail?id=338
• JPA имеет множество реализаций:
• OpenJPA (Apache)
• Hibernate
• TopLink (Oracle )
• EclipseLink
• …
• Часто встречается запись Hibernate/JPA
Приложение
Приложение
JPA
Hibernate TopLink …
Описывает принципы ORM для Java
Реализовывают спецификацию JPA
Домашнее задание
• Скачать спецификацию JPA (PDF файл)
• Пройти Chapter 1
• Не нужно полностью ее сразу читать

More Related Content

Similar to 01-Hibernate. Понятие ORM-JPA

Object-Relational Mapping for Dummies
Object-Relational Mapping for DummiesObject-Relational Mapping for Dummies
Object-Relational Mapping for DummiesGlobalLogic Ukraine
 
Что такое Java? Кто такой Java разработчик?
Что такое Java? Кто такой Java разработчик?Что такое Java? Кто такой Java разработчик?
Что такое Java? Кто такой Java разработчик?GetITAbroad
 
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутSkillFactory
 
Компьютерная графика. Введение в Processing
Компьютерная графика. Введение в ProcessingКомпьютерная графика. Введение в Processing
Компьютерная графика. Введение в ProcessingTatiana Volkova
 
разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)Alexander Gornik
 

Similar to 01-Hibernate. Понятие ORM-JPA (6)

Object-Relational Mapping for Dummies
Object-Relational Mapping for DummiesObject-Relational Mapping for Dummies
Object-Relational Mapping for Dummies
 
Что такое Java? Кто такой Java разработчик?
Что такое Java? Кто такой Java разработчик?Что такое Java? Кто такой Java разработчик?
Что такое Java? Кто такой Java разработчик?
 
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минут
 
Java Core.docx
Java Core.docxJava Core.docx
Java Core.docx
 
Компьютерная графика. Введение в Processing
Компьютерная графика. Введение в ProcessingКомпьютерная графика. Введение в Processing
Компьютерная графика. Введение в Processing
 
разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)
 

More from Roman Brovko

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task NetworkingRoman Brovko
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3Roman Brovko
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernetRoman Brovko
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2Roman Brovko
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1Roman Brovko
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flashRoman Brovko
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2CRoman Brovko
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uartRoman Brovko
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorRoman Brovko
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwmRoman Brovko
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsRoman Brovko
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_worldRoman Brovko
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisitesRoman Brovko
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advancedRoman Brovko
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advancedRoman Brovko
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advancedRoman Brovko
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окруженияRoman Brovko
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advancedRoman Brovko
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basicsRoman Brovko
 

More from Roman Brovko (20)

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task Networking
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernet
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flash
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2C
 
Glesk worshop
Glesk worshopGlesk worshop
Glesk worshop
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
 

01-Hibernate. Понятие ORM-JPA

  • 2. ORM • Ключевое понятие Object-Relational Mapping (ORM) – концепция, подход к работе с БД • Технология, которая позволяет работать с таблицами БД как с объектами • Напрямую к БД код не обращается (хотя это возможно) Код БД (таблицы) ORM (объекты)
  • 3. JPA • JavaEE – набор спецификаций, которые могут между собой взаимодействовать • Все технологии и фреймворки в Java работают на спецификациях (стандартах, правилах) • Если стандарта нет – его сначала придумывают (JSR), чтобы не было хаоса, разных версий и трактовок (похоже на подход в ООП – сначала интерфейсы (спецификации, правила работы объектов) – затем любое количество реализаций) • JPA (Java Persistence API) – спецификация, документ, в котором описаны правила и API для реализации принципов ORM для Java (аннотации, настройки, подход) • JSR 338 (JPA 2.1) https://jcp.org/en/jsr/detail?id=338 • JPA имеет множество реализаций: • OpenJPA (Apache) • Hibernate • TopLink (Oracle ) • EclipseLink • … • Часто встречается запись Hibernate/JPA
  • 4. Приложение Приложение JPA Hibernate TopLink … Описывает принципы ORM для Java Реализовывают спецификацию JPA
  • 5. Домашнее задание • Скачать спецификацию JPA (PDF файл) • Пройти Chapter 1 • Не нужно полностью ее сразу читать