Spring Boot: JPA и Spring Data JPA
Java Persistence API - это стандартная технология, которая позволяет "сопоставлять" (“map”) объекты с реляционными базами данных. POM spring-boot-starter-data-jpa обеспечивает быстрый способ начать работу. Он предоставляет следующие ключевые зависимости:
- Hibernate: одна из самых популярных реализаций JPA.
- Spring Data JPA: упрощает внедрение репозиториев на основе JPA.
- Spring ORM: Основная поддержка ORM от Spring Framework.
Классы сущностей (Entity Classes)
Традиционно классы JPA “Entity” указываются в файле persistence.xml. В Spring Boot этот файл не требуется, и вместо него используется “Entity Scanning”. По умолчанию все пакеты ниже вашего основного класса конфигурации (тот, который аннотирован @EnableAutoConfiguration или @SpringBootApplication) проверяются.
Любые классы, аннотированные @Entity, @Embeddable или @MappedSuperclass, учитываются. Типичный класс сущности напоминает следующий пример:
package com.example.myapp.domain;
import java.io.Serializable;
import javax.persistence.*;
@Entity
public class City implements Serializable {
@Id
@GeneratedValue
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String state;
// ... дополнительные члены, часто включают сопоставления @OneToMany
protected City() {
// конструктор без аргументов, требуемый спецификацией JPA
// protected, так как не должен использоваться напрямую
}
public City(String name, String state) {
this.name = name;
this.state = state;
}
public String getName() {
return this.name;
}
public String getState() {
return this.state;
}
// ... и т.д
}
Вы можете настроить места сканирования объектов, используя аннотацию @EntityScan.
Читайте также:
- Spring Boot: работа с SQL базами данных
- Spring Boot: подключение к производственной базе данных
- Spring Boot и базы данных: использование JdbcTemplate
Комментарии
Отправить комментарий