Mostrar mensagens com a etiqueta Oracle. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Oracle. Mostrar todas as mensagens

quarta-feira, 11 de março de 2015

Gestão de atribuição de chaves primárias - ORACLE / JPA

No artigo anterior, usámos o JPA para criar uma camada de acesso a uma BD ORACLE.
A BD ORACLE, cuja criação foi tratada em "Exemplo de Aplicação Java Swing com BD Oracle - 1", usa sequências e triggers para atribuição automática da chave em cada tabela.

O JPA permite-nos fazer operações sobre a BD (criar, alterar, apagar ou selecionar registos das tabelas). No entanto, quando queremos fazer várias operações relacionadas, e precisamos de saber que chave foi atribuída pela BD a um dado registo criado anteriormente, cujo objeto ainda temos em memória, não temos maneira segura de conhecer o valor dessa chave. E, o objeto que ainda temos em memória permanece sem o valor da chave nos seus atributos, fazendo com que o JPA considere que essa instância não é gerida por si. Isto, impede-nos de usar essa instância para operações subsequentes com a BD.

O ORACLE, tipicamente usa sequências para atribuição de valores de chave primária nas suas tabelas.
A utilização dessas sequências na atribuição da chave primária pode fazer-se definindo um default value para a coluna respetiva, ou criando um trigger before insert o qual obtém o valor seguinte da sequência e o atribui à coluna da chave primária da tabela.

domingo, 22 de janeiro de 2012

Exemplo de Aplicação Java Swing com BD Oracle - 2

No artigo anterior iniciámos a construção de uma série de artigos para a construção de uma pequena aplicação exemplo de gestão de biblioteca, para ambiente desktop usando classes Java Swing, e acedendo a uma base de dados (BD) Oracle.

O artigo anterior tratou da criação da Base de Dados em Oracle.Este artigo vai tratar da construção de uma classe Java para acesso à Base de Dados.

Iremos usar o NetBeans IDE 7.0.1, o qual pode ser downloaded de http://netbeans.org/community/releases/70/.

Após instalar o NetBeans IDE 7.0.1, devemos criar um novo projecto "Java Class Library", ao qual vamos chamar HelperDB, pois irá tratar-se apenas de uma classe de acesso à base de dados.


 
Criamos uma classe Java, a que chamamos DBAccessObj, a qual ficará no ficheiro DBAccessObj.java.

É necessário incluir as bibliotecas de classes JAR para acesso por JDBC à base de dados Oracle:


Estes ficheiros jar devem estar presentes na directoria

                              oraclexe\app\oracle\product\10.2.0\server\jdbc\lib

sendo oraclexe a directoria onde foi instalado o Oracle XE. A pasta 10.2.0 refere-se à versão do Oracle XE que tenho instalada na minha máquina.

quinta-feira, 19 de janeiro de 2012

Exemplo de Aplicação Java Swing com BD Oracle - 1

Hoje vamos iniciar uma série de artigos que culminarão com uma pequena aplicação exemplo de gestão de biblioteca, feita em Java, para ambiente desktop usando classes Java Swing, e acedendo a uma base de dados (BD) Oracle.

Este primeiro artigo trata da criação de uma pequena Base de Dados em Oracle. Foi usado o Oracle Express 10g, o qual pode ser downloaded gratuitamente em http://www.oracle.com/technetwork/database/express-edition/downloads/102xewinsoft-090667.html. Há já uma versão mais recente do Oracle Express, a 11g release 2, a qual pode ser obtida em http://www.oracle.com/technetwork/database/express-edition/downloads/index.html e com a qual o exemplo também deverá funcionar.

Após a instalação do Oracle, podemos aceder à ferramenta de administração da base de dados indo ao botão Iniciar --> Todos os Programas --> Oracle Database 10g Express Edition --> Ir para a Home Page de Banco de Dados  ou, num browser, ir a http://localhost:8080/apex.

Deverá, então, aparecer uma página para efectuarmos o login na ferramenta de administração:



Devemos entrar com o utilizador SYSTEM e a password que definimos para esse utilizador durante o processo de instalação.
Após entrar aparece-nos o ambiente de trabalho: