Escolar Documentos
Profissional Documentos
Cultura Documentos
Sabe quando você deseja realizar uma inserção no banco de dados? Pois é, o objeto
do EntityManager irá realizar essa tarefa! Esse gerenciador de entidades interage
com um Persistence Context, que é um local em que ficam armazenados os objetos
(entidades) que estão sendo manipulados pelo EntityManager corrente. Ele funciona
como um contêiner que guarda as entidades gerenciadas pelo EntityManager.
Então como você pode perceber no cenário acima, o EntityManager sempre consulta
o Persistence Context, checando se o objeto já está lá e, caso não esteja, aí sim ele irá
até o banco de dados. Quando o EntityManager é destruído (no fim de uma
requisição) o Persistence Context também será destruído, impossibilitando de usá-los
em outros EntityManager com outros PersistenceContext.
2
Ele especifica qual implementação será utilizada (Hibernate, Toplink, JDO, etc); conexão com banco, etc.
a) JSF
b) SVN
c) JPA
d) spring
e) struts
Comentários:
E foi assim que surgiu o Java Persistence API (JPA)! Olha que engraçado: a
especificação surgiu após as implementações! Como uma das vantagens, pode-se
trocar de implementação (Ex: Hibernate para TopLink) sem a necessidade de
modificar o código-fonte. Enfim, ele foi incorporado ao EJB 3.0 (apesar de ser
independente deste), permitindo sua utilização em Ambientes Java SE Java EE.
Gabarito: C
Comentários:
E foi assim que surgiu o Java Persistence API (JPA)! Olha que engraçado: a
especificação surgiu após as implementações! Como uma das vantagens, pode-se
trocar de implementação (Ex: Hibernate para TopLink) sem a necessidade de
modificar o código-fonte. Enfim, le oi incorporado JB 3.0 (apesar d er
independente dessa), permitindo sua utilização em Ambientes Java SE Java EE.
(a) Conforme vimos em aula, pode ser usada independente do EJB 3.0, inclusive em
Ambiente Java SE.
(b) Esse item é obsoleto atualmente. Não vale a pena discuti-lo, vai confundir a
cabeça de vocês. Está errado!
▪ Java Persistence Query Language (JPQL): define queries, em geral, estáticas, para
entidades e seus estados persistentes;
▪ Java ersistence iteria API (JPCA): define queries, em geral, dinâmicas para
entidades e seus estados persistentes;
(d) Conforme vimos em aula, pode-se utilizar JPQL e JPCA, com acesso feito por
SQL ou Java.
Galera, vou contar uma historinha para vocês! Durante muito empo, suários e
acostumaram m plicações Desktop. O que é isso, professor? É aquele
programinha que você baixa e instala em seu computador local, acessando
diretamente bancos de dados ou gerenciadores de arquivos. Para criar essas
aplicações eram utilizadas as tecnologias Visual Basic, Delphi, Swing (Java), etc.
Para resolver esse tipo de problema, surgiram as Aplicações Web. Elas rodam em
um servidor central onde os usuários podem acessá-las por meio de um navegador
(Chrome, Firefox, etc) e um protocolo HTTP. Nesse caso, odas egras de negócio
da aplicação e encontram o ervidor, endo uito ais il erenciá-las ,
eventualmente, epurá-las.
Podemos definir a Tecnologia JSF como uma tecnologia que nos permite criar
Aplicações Web utilizando componentes visuais pré-prontos, de forma que o
desenvolvedor não se procupe com Javascript ou HTML. A uncionalidade fornecida
por ma Aplicação F similar qualquer outra Aplicação e . Ela possui as
seguintes partes:
O JSF fornece uma maneira fácil e amigável para criar Aplicações Web por meio de,
basicamente, três atividades:
Aqui vamos fazer uma pequena pausa! Professor, o que é um Managed Bean? São
apenas OJOs m annotation @ManagedBeans. Pensem no seguinte: meu sistema
precisa escrever “Olá, pessoal” no navegador. Bem, esse texto não precisa de
nenhuma informação, não acessa nada, é muito simples – basta colocá-lo
diretamente na camada de visão e mostrá-lo!
E se eu tenho que dar um “Olá, X”, em que X é o nome da pessoa que acessou o
sistema? Em outras palavras, se eu acessei, deve mostrar “Olá, Diego”; se o Messi
acessou, deve mostrar “Olá, Messi”! Para tal, eu vou precisar acessar o banco de
dados, buscar informações do sistema, talvez saber o horário de acesso, i.e., vou
precisar interagir com o modelo, ógica de negócio ou componentes visuais.
Ora, nós prezamos pela separação de responsabilidades! Logo, esse código ficará
em uma classe de modelo e, jamais, na visão. Os naged Beans ão s bjetos
que intermediam comunicação tre a visão o odelo. Eles são registrados no
▪ Apply quest Values: qualquer dado que for enviado como parte da requisição
é passado para os componentes apropriados. Essas visões atualizam seus
estados com os valores dos dados. Dados podem vir de formulários, cookies
enviados com a requisição ou por meio de cabeçalhos da requisição. Alguns
dados são validados e, se houver erro, são adicionados à FacesServlet.
Ele estabelece conexões com um banco de dados, envia comandos SQL e processa
os resultados. Aliás, com a utilização de JDBC, torna-se fácil enviar um comando
SQL para diferentes bancos de dados relacionais. Em utras alavras, ão é
necessário esc ever m rograma para acessar m anco de dados Oracle, outro
para acessar um banco de dados SQL Server, e assim por diante.
Essa tecnologia permite invocar comandos SQL a partir de métodos em classes Java.
Ela fornece uma API do tipo call-level para acesso a bancos de dados baseado em
SQL. Os mponentes dessa API estão ocalizados os acotes java.sql e javax.sql. Para
conseguir acesso a diversos bancos de dados diferentes de maneira uniforme e
padronizada, utilizam-se Drivers.
Como assim, professor? O Driver faz a interface entre a Aplicação Web e o SGBD!
Para eu e conectar um anco e dados ndividual, reciso er os rivers ara
aquele banco de dados pecífico. O JDBC permite a conexão com praticamente
qualquer SGBD (Oracle, DB2, SQL Server, MySQL, PostgreSQL, etc). Existem,
atualmente, quatro tipos de Drivers:
▪ JDBC-ODBC Bridge: É o tipo mais simples. Utiliza ODBC para conectar-se com o
banco de dados, convertendo métodos JDBC em chamadas às funções do
ODBC. Esta ponte é normalmente usada quando não há um driver puro-Java
para determinado banco de dados, pois seu uso é desencorajado devido à
dependência de plataforma.
Dado que foi utilizado o driver adequado para acesso ao banco de dados, pode-se
utilizar a classe Connection para estabelecer a conexão, de fato, com o banco. Essa
classe se encontra no pacote java.sql – que contém uma biblioteca para acesso e
processamento de dados em uma fonte de dados. As classes, métodos e interfaces
dele mais importantes são:
▪ Driver: interface pública abstrata que todo driver deve implementar para
executar instruções SQL.
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").getInstance();
Connection con =
DriverManager.getConnection("jdbc:odbc:meusCdsDb","conta","senha");
}
catch(SQLException e)
{ // Se o carregador não localizar o driver do banco para conexão, lança a
// exceção java.lang.ClassNotFoundExeption
e.printStackTrace();
}
ResultSet rs = stm.executeQuery(SQL);
finally
{
try
{