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 gerar as camadas de entity e DAO com base nas configurações do diagrama de dados.Como principais recursos, essa funcionalidade permite gerar as camadas Entity e DAO 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 os dados do seu banco! |
Â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, a 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 RemovedImage Added
Figura 1 - Gerar camada de persistência
- Classes: permite permite selecionar quais as classes do diagrama gerarão a persistência. Diagrama de dados terão os arquivos das camadas DAO e Entity criados ou modificados.
- Namespace: nome do pacote e do diagrama que irá guardar manter os arquivos e as classes, respectivamentedas camadas DAO e Entity. Informe outro valor para gerar um novo pacote.
Tipo de Geração: define como serão
gerado as tabelas do bando de dados;tratadas as tabelas do 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 que possuem classes vinculadas no diagrama, incluindo os dados, e as recria novamente , juntamente com seus dados, que estão vinculadas às classes do projeto. Em seguida, recria essas tabelas com as alterações feitas no diagrama 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 nas tabelas do banco de dados, apenas cria as camadas DAO e entity.
- 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 . 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 quando se existir alguma classe das nas camadas DAO e entity não existirem no Diagrama. Veja mais detalhes em Classes inexistentes. 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.
- Botão Gerar: executa a funcionalidade. O efeito das alterações só ocorrerá após rodar o projeto.
Classe específica
- 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 Caso queira gerar a persistência para uma única classe, clique com o botão direito e selecione a opção Criar camada de dados para a entidade (Figura 2) . Ela irá do menu de contexto de uma classe do Diagrama de dados para abrir a janela Gerar camada de persistência (Figura 1) , mas selecionará contendo apenas a classe escolhida.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 "..." (seta da Figura 3) que fica ao lado do campo Classes, será aberto a janela para selecionar as classes. Além disso, é possível filtrar as classes selecionando uma visão (destaque 1 da Figura 3) ou através do campo de pesquisa (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 estejam selecionadas serão desmarcadas enquanto as classes previamente desmarcadas serão selecionadasda 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 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
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 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 RemovedImage 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 RemovedImage 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, execute o projeto para que ferramenta de camada-persistencia, os arquivos das camadas DAO e Entity, além das tabelas do banco de dados, sejam criados. 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 |
Nota |
Estes arquivos somente serão exibidos ao selecionar o Modo Avançado. |
Image RemovedImage Added
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