Usando o Hibernate em um aplicativo Java Swing
Neste tutorial, você usa o NetBeans IDE para criar e fazer o deployment de um aplicativo Java Swing que exibe dados a partir de um banco de dados. O aplicativo usa o framework do Hibernate como camada de persistência para recuperar POJOs (objetos Java antigos e simples) a partir de um banco de dados relacional.
O Hibernate é o framework que fornece ferramentas para o mapeamento relacional de objeto (ORM). O tutorial demonstra o suporte para o framework do Hiberrnar no IDE e como usar os assistentes para criar os arquivos necessários do Hibernate. Depois de criar objetos Java e configurar o aplicativo para usar o Hibernate, você cria uma interface GUI para a pesquisa e exibição dos dados.
Neste tutorial, você constrói um aplicativo de administração corporativo para a aplicativo Web de Loja de DVDs. Este tutorial abrange como criar um aplicativo que permita a consulta do perfil de um ator com base na correspondência com o primeiro ou último nome. Se você desejar, poderá ampliar o aplicativo para consultar os detalhes de um filme e adicionar/atualizar/excluir itens. Este tutorial usa o MySQL e o banco de dados Sakila, mas você pode usar qualquer servidor de banco de dados compativel com aplicativos Hibernate. O banco de dados Sakila é um banco de dados de amostra que pode ser obtido por download no site MySQL. As informações para a configuração do banco de dados Sakila são fornecidas nas seções a seguir.
Antes de começar este tutorial, talvez você queira se familizar com a documentação a seguir.
Para construir este aplicativo usando o Maven, consulte Criando um aplicativo Maven Swing usando o Hibernate.
Conteúdo
Para seguir este tutorial, você precisa dos seguintes recursos e softwares.
Você pode fazer o download de um arquivo zip do projeto terminado.
Criando o banco de dados
Este tutorial usa um banco de dados MySQL chamado sakila. O banco de dados de amostra não é incluído quando você instala o IDE, portanto você precisa criar o banco de dados primeiro para seguir este tutorial.
O banco de dados Sakila é uma amostra gratuita do banco de dados MySQL, disponível no site MySQL. Para criar o banco de dados sakila, você pode fazer o download e instalar o plugin Sakila Sample Database usando o Gerenciador de plugins. Depois de instalar o plugin, você pode excluir o banco de dados sakila da janela Serviços. O banco de dados sakila é adicionado à lista de bancos de dados na caixa de diálogo Criar banco de dados MySQL.
Para obter mais informações sobre a configuração do IDE para funcionar com o MySQL, consulte o tutorial Conectando a um banco de dados MySQL.
- Abra o Gerenciador de plugins e instale o plugin Sakila Sample Database.
- Depois de instalar o plugin, inicie o servidor do banco de dados MySQL ampliando o nó Banco de dados na janela Serviços, clicando com o botão direito do mouse no nó Servidor MySQL e escolhendo Iniciar.
- Clique com o botão direito do mouse no nó Servidor MySQL e escolha Criar banco de dados.
- Selecione o banco de dados Sakila a partir da lista suspensa Novo nome de banco de dados, na caixa de diálogo Criar banco de dados MySQL. Clique em OK.
Quando você clicar em OK, um nó do Salkila será exibido sob o nó Servidor MySQL.
- Clique com o botão direito do mouse e escolha Conectar.
Quando você clicar em Conectar, um nó de conexão do banco de dados do banco de dados Sakila (jdbc:mysql://localhost:3306/sakila [nome de usuário em Padrão]) será apresentado sob o nó Bancos de dados. Quando uma conexão for aberta, você poderá visualizar os dados no banco de dados ampliando o nó de conexão.
Criando o projeto de aplicativo Java Swing
Neste exercício você cria um projeto de aplicativo Java Swing simples chamado DVDStoreAdmin.
- Escolha Arquivo > Novo projeto (Ctrl-Shift-N). Selecione Aplicativo Java na categoria Java e clique em Próximo.
- Insira DVDStoreAdmin como nome do projeto e defina a sua localização.
- Desmarque a opção Usar pasta dedicada, se ela estiver selecionada.
Para este tutorial, não é necessário copiar as bibliotecas do projeto em uma pasta dedicada, pois você não precisará compartilhar bibliotecas com outros usuários.
- Desmarque Criar classe principal. Clique em Terminar.
Quando você clicar em Terminar, o IDE criará o projeto de aplicativo Java. O projeto não tem uma classe principal. Você criará um formulário e o definirá como classe principal.
Adicionando o suporte ao Hibernate ao projeto
Para adicionar suporte ao HIbernate em um projeto J2SE, é necessário adicionar a biblioteca Hibernate ao projeto. A biblioteca Hibernate está incluída no IDE e pode ser adicionada a qualquer projeto clicando com o botão direito do mouse no nó "Bibliotecas" da janela Projetos, escolhendo "Adicionar biblioteca" e selecionando a biblioteca Hibernate na caixa de diálogo Adicionar biblioteca.
O IDE inclui assistentes para ajudá-lo a criar os arquivos Hibernate necessários em seu projeto. É possível usar os assistentes no IDE para criar um arquivo de configuração Hibernate e uma classe de ajuda do utilitário. Se você criar o arquivo de configuração Hibernate usando um assistente, o IDE adicionará automaticamente as bibliotecas Hibernate ao projeto.
Criando o arquivo de configuração do Hibernate
O arquivo de configuração Hibernate (hibernate.cfg.xml) contém informações sobre a conexão do banco de dados, os mapeamentos de recursos e outras propriedades da conexão. Ao criar um arquivo de configuração Hibernate usando um assistente, você especifica a conexão do banco de dados a partir de uma lista de conexões de bancos de dados registradas no IDE. Durante a geração do arquivo de configuração, o IDE adiciona automaticamente os detalhes da conexão e as informações de dialeto com base na conexão de banco de dados selecionada. O IDE também adiciona automaticamente a biblioteca Hibernate ao classpath do projeto. Depois de criar o arquivo de configuração, você pode editar o arquivo usando o editor de múltipla visualização, ou editar o XML diretamente no editor XML.
- Clique com o botão direito do mouse no nó Pacotes de código-fonte na janela Projetos e escolha Novo > Outro para abrir o assistente para Novo arquivo.
- Selecione o assistente Configuração do Hibernate a partir da categoria Hibernate. Clique em Próximo.
- Mantenha as configurações padrão no painel Nome e localização (se desejar criar o arquivo no diretório src). Clique em Próximo.
- Selecione a conexão sakila na lista suspensa Conexão do banco de dados. Clique em Terminar.
Quando você clicar em Terminar, o IDE abrirá o hibernate.cfg.xml no editor de código-fonte. O IDE cria o arquivo de configuração na raiz do classpatch contextual do aplicativo (na janela Arquivos, WEB-INF/classes). Na janela Projetos, o arquivo está localizado no pacote de código-fonte <pacote padrão>. O arquivo de configuração contém informações sobre um único banco de dados. Se planeja conectar a vários bancos de dados, você pode criar vários arquivos de configuração no projeto, um para cada servidor de banco de dados; porém, por padrão, a classe utilitário de ajuda usará o arquivo hibernate.cfg.xml que está na localização raiz.
Se você expandir o nó Bibliotecas na janela Projetos, observará que o IDE acrescentou os arquivos JAR do Hibernate obrigatórios e o JAR do conector MySQL.
Modificando o arquivo de configuração do Hibernate
Neste exercício, você editará as propriedades padrão especificadas no hibernate.cfg.xml para ativar o registro da depuração para declarações SQL. Este exercício é opcional.
- Abra o hibernate.cfg.xml na guia Desenho. Você pode abrir o arquivo expandindo o nó Arquivos de configuração na janela Projetos e clicando duas vezes em hibernate.cfg.xml.
- Expanda o nó Propriedades da configuração em Propriedades opcionais.
- Clique em Adicionar para abrir a caixa de diálogo Adicionar propriedade do Hibernate.
- Na caixa de diálogo, selecione a propriedade hibernate.show_sql e defina o valor para true. Clique em OK. Isso permite o registro de depuração das declarações SQL.
Se clicar na aba XML no editor você pode ver o arquivo na visualização XML. O arquivo deve ter uma aparência semelhante a esta:
<hibernate-configuration>
<session-factory name="session1">
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/sakila</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">######</property>
<property name="hibernate.show_sql">true</property>
</session-factory>
</hibernate-configuration>
- Salve as alterações feitas no arquivo.
Quando você executar seu projeto, poderá visualizar a consulta SQL impressa na janela Saída do IDE.
Criando o arquivo de ajuda HibernateUtil.java
Para usar o Hibernate, é necessário criar uma classe de ajuda que lide com a inicialização e que acesse o SessionFactory do Hibernate para obter um objeto de sessão. A classe chama o método configure() do Hibernate, carrega o arquivo de configuração hibernate.cfg.xml e, em seguida, constrói o SessionFactory para obter o objeto de sessão.
Nesta seção, você usa o assistente para Novo arquivo a fim de criar a classe helper HibernateUtil.java.
- Clique com o botão direito do mouse no nó do pacote de códigos-fonte e selecione Novo > Outro para abrir o assistente para Novo arquivo.
- Selecione Hibernate na lista Categorias e HibernateUtil.java na lista Tipos de arquivo. Clique em Próximo.
- Insira HibernateUtil como nome da classe e sakila.util como nome do pacote. Clique em Terminar.
Quando você clicar em Terminar, o HibernateUtil.java será aberto no editor. Você pode fechar o arquivo porque não precisa editá-lo.
Gerando arquivos de mapeamento Hibernate e classes Java
Neste tutorial você usa um POJO (objeto Java antigo e simples), o Actor.java, para representar os dados na tabela ACTOR do banco de dados. A classe especifica os campos para as colunas nas tabelas e usa setters e getters simples para recuperar e gravar dados. Para mapear o Actor.java para a tabela ACTOR, você pode usar um arquivo de mapeamento do Hibernate ou usar anotações na classe.
Você pode usar o assistente Engenharia reversa e os Arquivos de mapeamento do Hibernate e POJOs obtidos de um assistente de banco de dados para criar múltiplos POJOs e arquivos de mapeamento com base nas tabelas selecionadas do banco de dados. Como alternativa, você pode usar assistentes no IDE para ajudar a criar POJOs individuais e arquivos de mapeamento a partir do rascunho.
Notas.
- Se você estiver usando o NetBeans IDE 6.5, não será necessário criar o arquivo hibernate.reveng com o assistente Engenharia reversa. Você cria o arquivo de engenharia reversa e especifica as tabelas do banco de dados nos Arquivos de mapeamento do Hibernate e POJOs a partir do assistente Banco de dados.
- Ao criar arquivos para múltiplas tabelas, você provavelmente desejará usar os assistentes. Neste tutorial, você só precisa criar um POJO e um arquivo de mapeamento, portanto, é muito mais fácil criar os arquivos individualmente. Você pode consultar as etapas para a criação dos POJOs e arquivos de mapeamento individualmente no final deste tutorial.
Criando o arquivo de engenharia reversa
O arquivo de engenharia reversa (hibernate.reveng.xml) é um arquivo XML que pode ser usado para modificar as configurações padrão usadas ao gerar arquivos Hibernate a partir dos metadados do banco de dados especificado em hibernate.cfg.xml. O assistente gera o arquivo com as configurações padrão básicas. Você pode modificar o arquivo para especificar explicitamente o esquema do banco de dados que será utilizado, para filtrar as tabelas que não serão usadas e para especificar como os tipos JDBC são mapeados para tipos Hibernate.
- Clique com o botão direito do mouse no nó do pacote de códigos-fonte e selecione Novo > Outro para abrir o assistente para Novo arquivo.
- Selecione Hibernate na lista Categorias e o assistente Engenharia reversa do Hibernate a partir da lista Tipos de arquivos. Clique em Próximo.
- Digite hibernate.reveng como o nome do arquivo.
- Mantenha o padrão src como a Localização. Clique em Próximo.
- Selecione actor no painel Tabelas disponíveis e clique em Adicionar. Clique em Terminar.
O assistente gera um arquivo de engenharia reversa hibernate.reveng.xml. Você pode fechar o arquivo de engenharia reversa porque não precisará editar o arquivo.
Criando arquivos de mapeamento Hibernate e POJOs a partir de um banco de dados
Os arquivos de mapeamento do Hibernate e os POJOs obtidos de um Assistente de banco de dados geram arquivos com base em tabelas em um banco de dados. Quando você usa o assistente, o IDE gera POJOs e os arquivos de mapeamento com base nas tabelas do banco de dados especificadas em hibernate.reveng.xml e, a seguir, adiciona as entradas do mapeamento no hibernate.cfg.xml. Quando usa o assistente, você pode escolher os arquivos que deseja que o IDE gere (somente os POJOs, por exemplo) e selecionar as opções de geração de código (gerar código que use anotações EJB 3, por exemplo).
- Clique com o botão direito do mouse no nó Pacotes de código-fonte na janela Projetos e escolha Novo > Outro para abrir o assistente para Novo arquivo.
- Selecione Arquivos de mapeamento do Hibernate e POJOs provenientes de um banco de dados na categoria Hibernate. Clique em Próximo.
- Selecione hibernate.cfg.xml na lista suspensa Arquivo de configuração Hibernate, caso não esteja selecionado.
- Selecione hibernate.reveng.xml na lista suspensa Arquivo de engenharia reversa Hibernate, caso não esteja selecionado.
- Certifique-se de que as opções Código do domínio e Mapeamentos XML do Hibernate estejam selecionadas.
- Insira sakila.entity para o nome do Pacote. Clique em Terminar.
Quando você clica em Terminar, o IDE gera o POJO Actor.java com todos os campos necessários, gerando também um arquivo de mapeamento Hibernate e adicionando a entrada de mapeamento ao hibernate.cfg.xml.
Agora que você tem o POJO e os arquivos necessários relacionados ao Hibernate, poderá criar um front-end simples de GUI Java para o aplicativo. Você também poderá criar e adicionar uma consulta HQL que pesquise o banco de dados para recuperar os dados. Nesse processo, também usamos o editor HQL para construir e testar a consulta.
Criando a GUI do aplicativo
Neste exercício, você criará um formulário JFrame simples com alguns campos para a entrada e exibição de dados. Você também adicionará um botão que irá disparar uma consulta do banco de dados para recuperar os dados.
Se você não estiver familiarizado com o uso do construtor de GUI para criar formulários, talvez queira examinar o tutorial Introdução à construção de GUIs.
Criando o formulário JFrame
- Clique com o botão direito do mouse no nó do projeto na janela Projetos e escolha Novo > Outro para abrir o assistente para Novo arquivo.
- Selecione Formulário JFrame na categoria Formulários de GUI Swing. Clique em Próximo.
- Digite DVDStoreAdmin como Nome da classe e insira sakila.ui como Pacote. Clique em Terminar.
Quando você clicar em Terminar, o IDE criará a classe e abrirá o formulário JFrame na visualização Desenho do editor.
Adicionando elementos ao formulário
Agora você precisa adicionar os elementos de UI ao formulário. Quando o formulário estiver aberto na visualização Desenho do editor, a Paleta será exibida no lado esquerdo do IDE. Para adicionar um elemento ao formulário, arraste o elemento da Paleta para a área do formulário. Depois de adicionar um elemento ao formulário, será necessário modificar o valor padrão da propriedade Nome da variável desse elemento.
- Arraste um elemento Legenda da paleta e altere o texto para ActorProfile.
- Arraste um elemento Rótulo da Paleta e altere o texto para First Name.
- Arraste um elemento Campo de texto perto do rótulo First Name e exclua o texto padrão.
- Arraste um elemento Rótulo da Paleta e altere o texto para Last Name.
- Arraste um elemento Campo de texto para perto do rótulo Last Name e exclua o texto padrão.
- Arraste um elemento de Botão da Paleta e altere o texto para Query.
- Arraste um elemento Tabela da Paleta para dentro do formulário.
- Modifique os valores do Nome da variável dos seguintes elementos da UI de acordo com os valores na tabela a seguir.
Você pode modificar o valor do Nome da variável de um elemento clicando com o botão direito do mouse no elemento na visualização Desenho e, em seguinda, escolhendo Alterar nome da variável. De modo alternativo, você pode alterar o Nome da variável diretamente na janela Inspetor.
Você não precisa atribuir os valores do Nome da variável aos elementos do Rótulo.
| Campo de texto First Name | firstNameTextField |
| Campo de texto Last Name | lastNameTextField |
| Botão Consulta | queryButton |
| Tabela | resultTable |
- Salve as alterações.
Na visualização Desenho, seu formulário deve parecer com a imagem a seguir.
Agora que você tem um formulário, precisa criar o código para atribuir eventos aos elementos do formulário. No próximo exercício, você construirá consultas com base no Idioma da consulta do Hibernate para recuperar dados. Depois de construir as consultas, você adicionará métodos ao formulário para invocar a consulta apropriada quando o botão Consulta for pressionado.
Criando a consulta no editor de consultas HQL
No IDE, você pode construir e testar consultas com base no Idioma de consulta do Hibernate (HQL) usando o Editor de consultas HQL. À medida que você insere a consulta, o editor mostra a consulta SQL equivalente (traduzida). Quando você clicar no botão "Executar consulta HQL" na barra de ferramentas, o IDE executará a consulta e mostrará os resultados na parte inferior do editor.
Neste exercício, você usa o Editor HQL para construir consultas HQL simples que recuperam uma lista de detalhes de atores com base na correspondência do nome ou sobrenome. Antes de adicionar a consulta à classe, você usará o Editor de consulta HQL para testar se a conexão está funcionando corretamente e se a consulta produz os resultados desejados.
- Amplie o nó de pacote de código-fonte <pacote padrão> na janela Projetos.
- Clique com o botão direito do mouse em hibernate.cfg.xml e escolha Executar consulta HQL para abrir o Editor HQL.
- Teste a conexão inserindo from Actor no Editor de consultas HQL. Clique no botão Executar consulta HQL (
) na barra de ferramentas.
Quando você clicar em Executar consulta HQL, deverá visualizar os resultados da consulta no painel inferior do Editor de consultas HQL.
Se você clicar no botão SQL acima dos resultados, deverá ser exibida a seguinte consulta SQL equivalente.
select actor0_.actor_id as col_0_0_ from sakila.actor actor0_
- Digite a consulta a seguir no Editor de consultas HQL e clique em Executar consulta HQL para verificar os resultados da consulta quando a string de pesquisa for "PE".
from Actor a where a.firstName like 'PE%'
A consulta retorna uma lista de detalhes de atores para aos atores cujos nomes começam com "PE".
- Abra uma nova guia do Editor de consulta HQL e insira a consulta a seguir no painel do editor. Clique em Executar consulta HQL.
from Actor a where a.lastName like 'MO%'
A consulta retorna uma lista de detalhes de atores para os atores cujos sobrenomes começam com "MO".
Testar as consultas mostra que as elas retornam os resultados desejados. A próxima etapa é implementar as consultas no aplicativo de modo que a consulta apropriada seja invocada clicando-se no botão Consulta no formulário.
Adicionando a consulta ao formulário
Agora você precisa modificar o DVDStoreAdmin.java para adicionar as strings de consulta e criar os métodos para construir e invocar uma consulta que incorpore as variáveis de entrada. Você também precisa modificar o manipulador de eventos do botão para invocar a consulta correta e adicionar um método para exibir os resultados da consulta na tabela.
- Abra DVDStoreAdmin.java e clique na guia Código-fonte.
- Adicione as seguintes strings de consulta (em negrito) à classe.
public DVDStoreAdmin() {
initComponents();
}
private static String QUERY_BASED_ON_FIRST_NAME="from Actor a where a.firstName like '";
private static String QUERY_BASED_ON_LAST_NAME="from Actor a where a.lastName like '";
É possível copiar as consultas das guias do Editor de consulta HQL para o campo e, em seguida, modificar o código.
- Adicione os métodos a seguir para criar a consulta com base na string de entrada do usuário.
private void runQueryBasedOnFirstName() {
executeHQLQuery(QUERY_BASED_ON_FIRST_NAME + firstNameTextField.getText() + "%'");
}
private void runQueryBasedOnLastName() {
executeHQLQuery(QUERY_BASED_ON_LAST_NAME + lastNameTextField.getText() + "%'");
}
Esses métodos chamam o método executeHQLQuery() e cria a consulta combinando a string de consulta com o usuário que inseriu a string de pesquisa.
- Adicione o método executeHQLQuery().
private void executeHQLQuery(String hql) {
try {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Query q = session.createQuery(hql);
List resultList = q.list();
displayResult(resultList);
session.getTransaction().commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}
O método executeHQLQuery() chama o Hibernate para executar a consulta selecionada. Esse método usa a classe de utilitário HibernateUtil.java para obter a Sessão Hibernate.
- Corrija suas importações e adicione declarações para as bibliotecas Hibernate (org.hibernate.Query, org.hibernate.Session) e java.util.List.
- Crie um manipulador de eventos do botão Consulta alternando para a visualização Desenho e clicando duas vezes no botão Consulta.
O IDE cria o método queryButtonActionPerformed e exibe o método na visualização Código-fonte.
- Modifique o método queryButtonActionPerformed na visualização Código-fonte adicionando o código a seguir de modo que uma consulta seja executada quando o usuário clicar no botão.
private void queryButtonActionPerformed(java.awt.event.ActionEvent evt) {
if(!firstNameTextField.getText().trim().equals("")) {
runQueryBasedOnFirstName();
} else if(!lastNameTextField.getText().trim().equals("")) {
runQueryBasedOnLastName();
}
}
- Adicione o método a seguir para exibir os resultados na JTable.
private void displayResult(List resultList) {
Vector<String> tableHeaders = new Vector<String>();
Vector tableData = new Vector();
tableHeaders.add("ActorId");
tableHeaders.add("FirstName");
tableHeaders.add("LastName");
tableHeaders.add("LastUpdated");
for(Object o : resultList) {
Actor actor = (Actor)o;
Vector<Object> oneRow = new Vector<Object>();
oneRow.add(actor.getActorId());
oneRow.add(actor.getFirstName());
oneRow.add(actor.getLastName());
oneRow.add(actor.getLastUpdate());
tableData.add(oneRow);
}
resultTable.setModel(new DefaultTableModel(tableData, tableHeaders));
}
- Corrija suas importações para adicionar o java.util.Vector e salve as alterações.
Depois de salvar o formulário, você pode executar o projeto.
Executando o projeto
Agora que a codificação foi terminada, é possível iniciar o aplicativo. Antes de executar o projeto, é preciso especificar a Classe principal do projeto na caixa de diálogo Propriedades do projeto. Se nenhuma Classe principal tiver sido especificada, você é solicitado a defini-la na primeira vez que executar o aplicativo.
- Clique com o botão direito do mouse no nó do projeto na janela Projetos e escolha Propriedades.
- Selecione a categoria Executar, na caixa de diálogo Propriedades do projeto.
- Insira sakila.ui.DVDStoreAdmin como a Classe principal. Clique em OK.
De modo alternativo, você pode clicar no botão Procurar e escolher a classe principal na caixa de diálogo.
- Clique em Executar projeto principal na barra de ferramentas principal para iniciar o aplicativo.
Insira uma string de pesquisa no campo de texto First Name ou Last Name e clique em Consulta para pesquisar um ator e exibir os detalhes.
Se você observar a janela Saída do IDE, poderá visualizar a consulta SQL que recuperou os resultados exibidos.
Baixando o projeto da solução
Você pode fazer o download da solução para este projeto como um projeto das seguintes formas.
Criando POJOs e arquivos de mapeamento
Como um POJO é uma classe Java simples, você pode usar o assistente Nova classe Java para criar a classe e, em seguida, editar a classe no editor de código-fonte para adicionar os campos, getters e setters necessários. Depois de criar o POJO, use um assistente para criar um arquivo de mapeamento do Hibernate para associar a classe à tabela e adicionar informações de mapeamento ao hibernate.cfg.xml. Quando você cria um arquivo de mapeamento a partir do rascunho, é necessário associar os campos às colunas no editor XML.
Observação. Este exercício é opcional e descreve como criar o POJO e o arquivo de mapeamento que você criou com os arquivos de mapeamento Hibernate e POJOs obtidos do Assistente de banco de dados.
- Clique com o botão direito do mouse no nó Pacotes de códigos-fonte na janela Projetos e escolha Novo > Classe Java para abrir o novo assistente para Classe Java.
- No assistente, insira Actor para o nome da classe e sakila.entity para o pacote. Clique em Terminar.
- Faça as seguintes alterações (exibidas em negrito) nas classes para implementar a interface serializável e adicionar campos nas colunas da tabela.
public class Actor implements Serializable {
private Short actorId;
private String firstName;
private String lastName;
private Date lastUpdate;
}
- Gere os getters e setters para os campos colocando o cursor de inserção no editor de código-fonte, digitando Alt-Insert e, em seguida, selecionando Getter e setter.
- Na caixa de diálogo Gerar getters e setters, selecione todos os campos e clique em Gerar.
Na caixa de diálogo Gerar getters e setters, você pode usar a seta para cima no teclado para mover o item selecionado para o nó Ator e pressionar a barra de espaços para selecionar todos os campos em Ator.
- Corrija as importações e salve as alterações.
Depois de criar o POJO para a tabela, você desejará criar um arquivo de mapeamento do Hibernate para Actor.java.
- Clique com o botão direito do mouse no nó de pacotes de código-fonte sakila.entity, na janela Projetos, e escolha Novo > Outro para abrir o assistente Novo arquivo.
- Selecione o Arquivo de mapenamento do Hibernate na categoria Hibernate. Clique em Próximo.
- Insira Actor.hbm como Nome do arquivo e verifique se a pasta é src/sakila/entity. Clique em Próximo.
- Insira sakila.entity.Actor para Classe a mapear e selecione actor na lista suspensa Tabela do banco de dados. Clique em Terminar.
Quando você clicar em Terminar, o arquivo de mapeamento do Hibernate Actor.hbm.xml será aberto no editor de código-fonte. O IDE também adiciona automaticamente uma entrada para o recurso de mapeamento para hibernate.cfg.xml. Você pode visualizar os detalhes da entrada ampliando o nó Mapeamento, na visualização Desenho do hibernate.cfg.xml ou na visualização XML. A entrada mapping na visualização XML será semelhante a:
<mapping resource="sakila/entity/Actor.hbm.xml"/>
</session-factory>
</hibernate-configuration>
- Associe os campos Actor.java às colunas na tabela ACTOR fazendo as seguintes alterações (em negrito) no Actor.hbm.xml.
<hibernate-mapping>
<class name="sakila.entity.Actor" table="actor">
<id name="actorId" type="java.lang.Short">
<column name="actor_id"/>
<generator class="identity"/>
</id>
<property name="firstName" type="string">
<column length="45" name="first_name" not-null="true"/>
</property>
<property name="lastName" type="string">
<column length="45" name="last_name" not-null="true"/>
</property>
<property name="lastUpdate" type="timestamp">
<column length="19" name="last_update" not-null="true"/>
</property>
</class>
</hibernate-mapping>
Você pode usar o recurso auto-completar código no editor para completar os valores ao modificar o arquivo de mapeamento.
Observação: Por padrão, o elemento class gerado tem uma guia de fechamento. Como você precisa adicionar elementos de propriedade entre as tags de abertura e fechamento do elemento class, é necessário fazer as alterações a seguir (exibidas em negrito). Depois de fazer as alterações, você poderá usar o recurso auto-completar código entre as tags class.
<hibernate-mapping>
<class name="sakila.entity.Actor" table="actor">
</class>
</hibernate-mapping>
- Clique no botão Validar XML na barra de ferramentas e salve as alterações.
A criação de POJOs individuais e arquivos de mapeamento do Hibernate pode ser um modo conveniente de personalizar ainda mais seu aplicativo.
Consulte também
Para obter informações adicionais sobre a criação de aplicativos de GUI do Swing, consulte os tutoriais a seguir.