Uma equipe de desenvolvimento está utilizando Spring Boot pa...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: A - spring.jpa.hibernate.ddl-auto=none
Tema Central: A questão trata da configuração do Spring Boot para desabilitar a criação automática do esquema do banco de dados. Esse tema é crucial para desenvolvedores que buscam otimizar o tempo de inicialização de aplicações, algo comum no cargo de Analista Judiciário - Suporte em TI.
Resumo Teórico: O Spring Boot é um framework que simplifica a criação de aplicações Java, e uma de suas funcionalidades é gerenciar o esquema do banco de dados automaticamente. No entanto, em ambientes de produção, pode ser desejável desativar essa funcionalidade para reduzir o tempo de inicialização e evitar alterações indesejadas no banco de dados. Essa configuração é geralmente realizada no arquivo application.properties.
Justificativa da Alternativa Correta: A configuração spring.jpa.hibernate.ddl-auto=none diz ao Spring Boot para não gerar nem validar o esquema do banco de dados no início. Isso é útil quando não se deseja que o Hibernate interfira na estrutura do banco de dados, especialmente em ambientes de produção.
Análise das Alternativas Incorretas:
- B - spring.datasource.database-auto-=false: Esta alternativa é inválida. Não existe tal propriedade no Spring Boot para controlar a criação do esquema do banco de dados.
- C - spring.jpa.db-sql=disable: Essa configuração não é reconhecida pelo Spring Boot para o propósito mencionado. Não existe uma propriedade padrão com este nome.
- D - spring.jpa.properties.hibernate.db-auto=disable: Esta propriedade está incorretamente formada. Não corresponde a uma configuração válida para controlar o comportamento do Hibernate.
- E - spring.jpa.create-database-init=false: Assim como as outras, essa propriedade não é reconhecida pelo Spring Boot e não controla o ddl-auto.
Quando abordar questões desse tipo, é essencial conhecer as propriedades de configuração do Spring Boot e suas finalidades. Recomendo sempre consultar a documentação oficial do Spring Boot para uma referência detalhada.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
```Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Gabarito Letra A
Tem que lembrar que o hbm2ddl.auto (do Hibernate) tem a ver com Schemas, e como a questão diz "criação automática do esquema de banco de dados", fui procurar a opção que mais tem a ver com essa propriedade.
Olá! Para desabilitar a criação automática do esquema de banco de dados pelo Spring Boot, a configuração correta no arquivo application.properties é (A) spring.jpa.hibernate.ddl-auto=none.
Entendendo o porquê:
A propriedade spring.jpa.hibernate.ddl-auto é uma configuração do Hibernate (o JPA provider padrão do Spring Boot) que controla a geração e a atualização do esquema do banco de dados durante a inicialização da aplicação. Os valores possíveis para essa propriedade incluem:
* none: Não realiza nenhuma ação no esquema do banco de dados. É a opção para desabilitar a criação ou atualização automática.
* validate: Valida o esquema do banco de dados com os mapeamentos das entidades. Não realiza nenhuma alteração.
* update: Atualiza o esquema do banco de dados para corresponder aos mapeamentos das entidades. Não exclui tabelas ou colunas.
* create: Exclui o esquema existente e cria um novo com base nos mapeamentos das entidades. Útil para testes.
* create-drop: Semelhante a create, mas também exclui o esquema do banco de dados quando a sessão do EntityManagerFactory é fechada. Útil para testes.
Ao definir spring.jpa.hibernate.ddl-auto=none, você instrui o Hibernate a não realizar nenhuma operação automática no esquema do banco de dados durante a inicialização da sua aplicação Spring Boot, o que contribuirá para um tempo de inicialização mais rápido, especialmente se a configuração do banco de dados for a causa da lentidão.
Analisando as outras opções:
* (B) spring.datasource.database-auto-=false: Esta propriedade não é uma configuração padrão do Spring Boot para controlar a criação automática do esquema pelo JPA/Hibernate. Geralmente, as configurações relacionadas ao esquema estão dentro do escopo do JPA/Hibernate.
* (C) spring.jpa.db-sql=disable: Esta propriedade não é uma configuração padrão do Spring Boot. Pode haver configurações relacionadas à exibição de SQL gerado pelo Hibernate, mas não para desabilitar a criação do esquema.
* (D) spring.jpa.properties.hibernate.db-auto=disable: A forma correta de configurar propriedades específicas do Hibernate dentro do Spring Boot é usando spring.jpa.properties.hibernate.<propriedade_do_hibernate>. No entanto, db-auto não é uma propriedade padrão do Hibernate para controlar a criação do esquema. A propriedade correta é hibernate.hbm2ddl.auto. Portanto, a configuração correta seria spring.jpa.properties.hibernate.hbm2ddl.auto=none.
* (E) spring.jpa.create-database-init=false: Esta propriedade está relacionada à inicialização do banco de dados usando scripts schema.sql e data.sql que podem estar presentes no classpath, e não diretamente com a criação automática do esquema baseada nas entidades JPA pelo Hibernate.
Portanto, a configuração mais adequada e correta para desabilitar a criação automática do esquema de banco de dados pelo Spring Boot é spring.jpa.hibernate.ddl-auto=none.
Fonte: Gemini
A alternativa correta é a letra A:
- A. spring.jpa.hibernate.ddl-auto=none
Essa propriedade define o comportamento do Hibernate (usado pelo Spring Data JPA) em relação à geração automática do schema (estrutura) do banco de dados.
Os valores possíveis para spring.jpa.hibernate.ddl-auto incluem:
- none: não faz nenhuma ação de criação ou atualização de schema.
- update: atualiza o schema para coincidir com as entidades.
- create: cria o schema a cada inicialização (apaga e recria).
- create-drop: cria ao iniciar, e apaga ao finalizar.
- validate: valida o schema, mas não faz alterações.
By Futuro DEV Estável.
- A equipe quer desabilitar a criação automática do esquema de banco de dados durante a inicialização da aplicação Spring Boot.
- Isso é controlado pelo Hibernate, através da propriedade no .
A configuração:
significa:
- : O Hibernate não faz nada com o schema (nem cria, nem atualiza, nem valida).
Outros valores possíveis para são:
ValorComportamentoCria o schema a cada inicializaçãoCria ao iniciar e apaga ao encerrarAtualiza o schema automaticamenteValida o schema, mas não alteraNão faz nada (é o desejado aqui) ✅
- Correta.
- É exatamente a propriedade que desativa a criação automática do esquema.
- ➡️ CERTA
- Propriedade inexistente.
- Tem erro de sintaxe (), não pertence à configuração padrão do Spring.
- ➡️ ERRADA
- Propriedade inexistente.
- não existe.
- ➡️ ERRADA
- Parece uma tentativa incorreta de acessar propriedades internas do Hibernate.
- não existe.
- ➡️ ERRADA
- Existe uma propriedade parecida () para scripts, mas essa não controla o schema do JPA.
- não é uma propriedade válida no contexto do JPA/Hibernate.
- ➡️ ERRADA
Chat
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo