Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Quando estamos usando o framework Spring e necessitamos de uma conexão com banco de dados, é muito comum utilizarmos o Spring Data JPA, uma implementação do Hibernate para o universo Spring.
Usar o Spring Data irá nos fornecer uma séria de facilidades, pois ele trabalha de forma integrada com todo o ambiente Spring, e nos permite configurar de forma fácil utilizando o arquivo de properties do próprio projeto.
Nesse tutorial vamos ensinar como configurar uma conexão entre esse poderoso framework e um dos banco de dados mais utilizados o PostgreSQL.
Para adicionar o Spring Data JPA em um projeto Maven, precisamos alterar o arquivo pom.xml
e adicionar duas novas dependências, o Spring Data JPA e o drive de conexão com o Postgres.
<dependencies>
<!-- ...outras dependencias -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
pom.xmlEm projetos Gradle precisamos editar o arquivo build.gradle
e adicionar duas linhas dentro da propriedade dependencies
e adicionar o Spring Data JPA e também o drive de conexão com o Postgres.
dependencies {
//... outras dependencias
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'org.postgresql:postgresql'
}
build.gradleAgora que já temos as duas dependências instaladas, precisamos configurar as propriedades para conexão com o banco, string de conexão, usuário e senha.
Essas informações serão fornecidas no arquivo application.properties, que está localizado na pasta resources do nosso projeto, vamos precisar adicionar as linhas abaixo.
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=drop-and-create
application.propertiesUma consideração importante é não deixar habilitado para o Hibernate gerenciar as tabelas em uma aplicação de produção, você pode facilmente perder o controle das tabelas, além de não conseguir garantir a consistência de dados.
Na própria documentação oficial é sugerido que essa funcionalidade de gerenciar tabelas não é apropriada para ambientes produtivos.
Para produção recomendamos que seja utilizado um esquema de migrations, utilizando o Flyway por exemplo para controlar as migrações do banco de dados, versionando cada modificação.
Agora que todas as configurações foram feitas, sua aplicação já está conectando com o banco de dados, basta mapear suas entidades usando as anotações padrão do Hibernate, como @Entity,
@Table
, @Id
entre outras.
Agora você terá acesso a interfaces e classes que ajudaram a manipular informações das tabelas.