Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Utilize a funcionalidade Gerar Camada de Persistência para criar ou atualizar o Banco de dados do sistema e Como principais recursos, essa funcionalidade permite gerar as camadas de Entity e DAO com base nas configurações do Diagrama de Dados. a partir das alterações feitas no Diagrama de dados, além de definir as modificações no banco de dados a partir da próxima reinicialização do sistema.
Aviso |
---|
Fique atento ao banco de dados selecionado (destaque 1 da figura 1), pois, a depender da configuração, essa ação poderá excluir todas as informações os dados do seu banco! |
Etapas
Image Removed
Figura 1 - Gerar camada de persistência
- Seleção do banco de dados onde ocorrerá as alterações.
Âncora camada-persistencia camada-persistencia
Gerar camada de persistência
Ao clicar no ícone de atalho (seta da Figura 1) Gerar camada de persistência, uma janela de configuração será aberta, permitindo selecionar as classes, informar o nome do pacote e selecionar o tipo de geração que ocorrerá no banco de dados selecionado (destaque 1 da Figura 1).
Image Added
Figura 1 - Gerar camada de persistência
- Classes: permite selecionar quais as classes do Diagrama de dados terão os arquivos das camadas DAO e Entity criados ou modificados.
- Namespace: nome do pacote que irá manter os arquivos das camadas DAO e Entity. Informe outro valor para gerar um novo pacote
- Classes: permite selecionar quais as classes do diagrama gerarão a persistência.
- Namespace: nome do pacote e do diagrama que irá guardar os arquivos e as classes respectivamente.
Tipo de Geração:
definedefine como
será geradoserão tratadas as tabelas do
bando de dados;banco de dados que possuem vínculo com as classes das camadas DAO e Entity (Acesse a documentação oficial do EclipseLink para detalhes sobre os campos abaixo). A cada nova inicialização do sistema, o banco de dados será afetado com a opção selecionada.
- Criar ou Atualizar Tabelas: gera as tabelas do banco de dados pela primeira vez e/ou atualiza as tabelas já existentes, mas não apaga os dados do banco de dados;, caso elas não existam, ou inclui novas colunas de tabelas existentes. É importante destacar que essa opção não apaga os dados ou realiza alterações como renomear, excluir ou alterar o tipo de dados das colunas existentes.
Apagar e Recriar Tabelas: apaga todas as tabelas do banco de dados,
incluindo os dados, e recria tudo novamentejuntamente com seus dados, que estão vinculadas às classes do projeto. Em seguida, recria essas tabelas com as alterações feitas no
diagrama de dados;Aviso Cuidado ao utilizar essa opção vinculando o Diagrama de dados ao Banco de dados de produção.
- Utilizar Tabelas Existentes: não realiza alterações no banco de dados, apenas cria nas tabelas do banco de dados.
- Criar ou Atualizar Tabelas: gera as tabelas do banco de dados pela primeira vez e/ou atualiza as tabelas já existentes, mas não apaga os dados do banco de dados;, caso elas não existam, ou inclui novas colunas de tabelas existentes. É importante destacar que essa opção não apaga os dados ou realiza alterações como renomear, excluir ou alterar o tipo de dados das colunas existentes.
- Desativar cache de consultas: desmarque para permitir que o sistema utilize cache de consulta, evitando várias requisições ao banco de dados com o mesmo resultado.
- Permitir configuração em tempo de execução: opção usada em conjunto com o evento "Para configurar conexão". Esse campo possibilita que o banco de dados do sistema seja alterado em tempo de execução a partir de uma lógica pré-definida.
- Debugar SQL: ao selecionar essa opção, toda declaração feita ao banco de dados será exibida no log da aplicação (Console do depurador).
- Remover entidades antes de gerar: essa caixa de seleção só será exibida se existir alguma classe nas camadas DAO e entity não relacionadas com o Diagrama de dados. Ao marcar, as classes que não possuem vínculo com as camadas DAO e entity serão removidas.
- Desativar cache de consultas.
- Botão Gerar: executa a funcionalidade. O efeito das alterações só ocorrerá após rodar o projeto.
Classe específica
Caso queira gerar a persistência para um única classe, clique com o botão direito e selecione a opção gerar camada de dados para entidade.
- Os arquivos do projeto serão modificados, mas as alterações no Banco de dados só ocorrerão a partir da próxima inicialização do sistema.
As opções selecionadas no campo Classes afetarão os arquivos Java das camadas DAO e Entity, esses arquivos possuem detalhes sobre a estrutura da classe e seus atributos, definindo inclusive, como serão construídas as tabelas do banco de dados. Já o campo Tipo de Geração é responsável por definir se o banco de dados, vinculado ao Namespace selecionado, será modificado ou não a partir da próxima reinicialização do sistema. Assim, se as opções "Criar ou Atualizar Tabelas" ou "Apagar e Recriar Tabelas" estiverem selecionadas, o sistema irá verificar as alterações nas camadas DAO e Entity e modificar o Banco de dados na próxima inicialização do sistema.
Menu de contexto
Utilize a opção Criar camada de dados para a entidade (Figura 2) do menu de contexto de uma classe do Diagrama de dados para abrir a janela Gerar camada de persistência (Figura 1) contendo apenas a classe selecionada no campo Classes.
Informações |
---|
Não é possível alterar o Tipo de Geração apenas para uma única classe selecionada. Veja mais detalhes sobre os campos Classes e Tipo de Geração no tópico Gerar camada de persistência. |
Image AddedImage Removed
Figura 2 - Gerar camada de persistência somente para a classe selecionada
Âncora selecao-classes selecao-classes
Seleção das classes
Utilize o botão "..." do campo Classes para selecionar quais as classes Java das camadas DAO e Entity serão afetadas ao Gerar a camada de persistência.
Por padrão, todas as classes existentes no diagrama são selecionadas no momento de gerar a persistência, mas isso pode ser alterado. Ao clicar no botão "..." (destaque 1 seta da Figura 3) que fica ao lado do campo classes Classes, será aberta aberto a janela para selecionar as classes. Além disso, é possível filtrar as classes selecionando uma visão (destaque 2 1 da Figura 3) e ou através do campo de pesquisa (3 2 da Figura 3).
Image RemovedImage Added
Figura Figura 3 - Selecionando Janela de seleção das classes para gerar persistência
- Filtro Visão: caixa de seleção para filtrar as classes do Diagrama vinculadas a visão selecionada.
- Pesquisa: campo de busca.
- Opção Inverter todos: ao desmarcar essa opção,
- alterna o status do checkbox de todas as classes que estevam selecionadas serão desmarcadas enquanto as classes previamente desmarcadas serão selecionadas.
- da janela.
Janela de conflitos
Ao gerar a camada de persistência pela segunda vez, uma janela de conflito de conteúdo será exibida, permitindo selecionar quais arquivos poderão ser sobre escritos e com serão sobrescritos. Com um duplo clique sobre o arquivo, é possível visualizar quais partes do código ocorreu o conflito.
Nota |
---|
A janela de conflito só ocorre quando a IDE estiver no Modo Avançado. |
Image RemovedImage Added
Figura 4 - Janela de conflitos
Aviso | ||
---|---|---|
| ||
O conteúdo High-code, como as classes Java das camadas entity e DAO, além dos arquivos persistence.xml, SpringBootMain.java e outros, são mantidos e atualizados pelas ferramentas Low-code do Cronapp. Dessa forma, não recomendamos modificar esses arquivos manualmente, pois, ao utilizar recursos como Gerar camada de persistência, os dados inseridos manualmente nesses arquivos serão modificados ou excluídos. |
Âncora classes-inexistentes classes-inexistentes
Classes inexistentes
Se Quando uma classe gerada pelo diagrama for excluída somente do diagrama, ao gerar novamente a camada de persistência, uma mensagem aparecerá informando que a classe ainda existe no pacote (Namespace) e dá dará a opção do usuário excluí-la do pacote .
Image Removed
Figura 5 - Remover entidades antes de gerar
automaticamente (destaque da Figura 5). A opção Remover entidades antes de gerar (destaque 1 da figura 5) só será exibida nesse tipo de situação.
Image Added
Figura 5 - Remover entidades antes de gerar camada
Por segurança, após selecionar a opção Remover entidades antes de gerar (destaque 1 da figura 5.1) e clicar no botão Gerar, uma janela será exibida para confirmar a ação.
Informações | ||
---|---|---|
| ||
Apagar a entidade do diagrama utilizando as opções Apagar e recriar tabelas e Remover entidades antes de gerar não fará com que a tabela da entidade também seja deletada do banco de dados. Para fazer isso o usuário terá que removê-la manualmente do banco de dados. |
Image Added
Figura 5.1 - Mensagem de confirmação para a exclusão das classes Java
Âncora DaoEntity DaoEntity
Camadas DAO e Entity
Após finalizar a execução da funcionalidade, rode o projeto e que as principais alterações estão nos arquivos da camada DAO e Entity e nas tabelas do banco de dados.ferramenta de camada-persistencia, os arquivos das camadas DAO e Entity são modificados para refletir as alterações feitas nas janelas de configuração das classes do Diagrama de dados.
Informações |
---|
Estes arquivos só serão exibidos após habilitar o Modo Avançado. |
Image AddedImage Removed
Figura 6 - Arquivos das camadas DAO e Entity
Âncora | ||||
---|---|---|---|---|
|
Debugar SQL
O recurso Debugar SQL exibe no Console do depurador as declarações realizadas pela aplicação, permitindo que você acompanhe e verifique as operações de banco de dados em tempo real. Isso auxilia no processo de depuração e solução de problemas relacionados ao acesso e manipulação de dados no banco de dados. Esse recurso irá funcionar com o projeto sendo executado pelo Cronapp, em modo debug, e em produção.
Vamos utilizar um exemplo para melhor ilustrar esse recurso. Na figura 7, estamos inserindo dados de cadastro em uma classe chamada Pessoa. Ao clicar no botão que realiza a inserção desses dados no banco de dados, a função SQL INSERT INTO
será executada. Ao habilitar o recurso de depuração de SQL, sempre que essa instrução for executada, ela será exibida no console do depurador.
Image Added
Figura 7 - Inserindo dados de cadastro de na classe Pessoa
O formato exibido no console será a declaração SQL que está sendo enviada para o banco de dados (destaque da figura 7.1). A declaração será exibida na primeira linha, cada parâmetro será representado pelo caractere "?", enquanto na segunda linha, bind
, exibirá um array com os dados informados, representando cada parâmetro.
Image Added
Figura 7.1 - declarações exibidas no Console do depurador
A declaração de inserção pode ser conferida no trecho de código abaixo.
Bloco de código | ||||
---|---|---|---|---|
| ||||
[EL Fine]: sql: 2023-06-07 17:49:47.017--ClientSession(2127282243)--Connection(2084487959)--INSERT INTO "Pessoa" (id, idade, nome) VALUES (?, ?, ?)
bind => [77D04805-5837-4AFF-ADEB-53C9EE22FC66, 30, Fábio] |
Nesta página
Índice
Conteúdo complementar
Assista sobre o tema no Cronapp Academy
Informações |
---|
Caso seja seu primeiro acesso ao Cronapp Academy, crie antes uma conta gratuita e matricule-se no curso abaixo. |
- Aula: Diagrama de dados
Nessa página
toc