Quiz
JDBC,HIB,JPA,EJB,JSF_FCC
Create a free account to finish this quiz
Save your progress and see your final score.
Already have an account? Sign in
Questions in this quiz (12)
1Considere, abaixo, os métodos encontrados em classes de aplicações Java que acessam banco de dados.
Método 1:
public int inserir(int varId, String varNome, double varRenda) {
int retorno;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bd007", "root", "1234");
PreparedStatement st = conn.prepareStatement("insert into cliente (id, nome, renda) values (?, ?, ?)");
st.setInt(1, varId);
st.setString(2, varNome);
st.setDouble(3, varRenda);
retorno = st.executeUpdate();
} catch (ClassNotFoundException ex) {
retorno = 0;
} catch (SQLException ex1) {
retorno = 0;
}
return retorno;
}
Método 2:
public int inserir(int varId, String varNome, double varRenda) {
int retorno;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bd007", "root", "1234");
Statement st = conn.createStatement();
retorno = st.executeUpdate("insert into cliente values (" + varId + ",'" + varNome + "'," + varRenda + ")");
} catch (ClassNotFoundException ex) {
retorno = 0;
} catch (SQLException ex1) {
retorno = 0;
}
return retorno;
}
Nas classes, nas quais estes métodos se encontram, foram importados todos os recursos necessários para a execução. O banco de dados, a tabela e o driver JDBC existem e funcionam corretamente.
É correto afirmar que- Ao Método 1 está incorreto, pois o método executeUpdate da interface PreparedStatement precisa receber como parâmetro a instrução SQL insert a ser executada.
- Bo Método 1 está incorreto, pois a instrução insert passada como parâmetro para o método PreparedStatement da interface Connection está incompleta. No lugar dos pontos de interrogação devem ser colocados os valores que devem ser incluídos nos campos id, nome e renda da tabela.
- Cambos os métodos estão incorretos, pois o método presente tanto na interface Statement como na interface PreparedStatement para incluir dados na tabela do banco de dados é o método executeInsert e não executeUpdate.
- Dambos os métodos estão corretos e executam a mesma operação, apresentando os mesmos resultados.
- Eo Método 2 está incorreto, pois o método executeUpdate da interface Statement não pode receber parâmetros. A instrução insert passada como parâmetro nesse método deveria ser passada como parâmetro para o método createStatement da interface Connection.
2Sobre as coleções do Hibernate, considere:
I. Quando um objeto é adicionado na coleção, o número da versão do proprietário da coleção é incrementado.
II. Quando um objeto é removido da coleção, o número da versão do proprietário da coleção é decrementado.
III. Se uma entidade é adicionada a uma coleção (uma associação um-para-muitos ou muitos-para-muitos), ela fará com que a entidade se torne persistente, por padrão.
IV. Se um objeto removido de uma coleção for uma instância de um tipo de valor, este objeto irá parar de ser persistente e seu estado será completamente removido do banco de dados.
Está correto o que consta em- AI e III.
- BI e IV.
- CII e III.
- DII e IV.
- ETodas.
3Quando temos uma relação um-para-muitos entre classes de entidade na aplicação que utiliza JPA, por padrão, ao buscarmos um objeto do lado um, não são trazidos os objetos relacionados do lado muitos da relação. Porém, se desejarmos trazer todos os objetos relacionados, devemos utilizar na classe de entidade do lado um da relação a anotação:
- A@OneToMany(fetch=FetchType.LAZY)
- B@ManyToOne(Cascade.JOIN)
- C@OneToMany(fetch=Fetch.JOIN)
- D@ManyToOne(Cascade=true)
- E@OneToMany(fetch=FetchType.EAGER)
4No fragmento de código a seguir, considere session um objeto org.hibernate.Session válido e Produto o nome de uma classe persistente de entidade do banco de dados. Considere ainda a existência de diversos produtos cadastrados e de um ambiente ideal no qual a aplicação está em execução.
Criteria crit = session.createCriteria(Produto.class);
..I....
List results = crit.list();- Acrit.restriction("select * from produto where nome like 'eletro%'");
- Bcrit.add(Restrictions.like("nome","eletro%"));
- Ccrit.add("select * from produto where nome like 'eletro%'");
- Dcrit.restriction(Select.like("nome","eletro%"));
- ERestrictions.select("nome like 'eletro%'");
5Quanto ao Hibernate no ambiente Java, considere:
I. Sua principal característica é a transformação das classes Java para tabelas de dados porém não dos tipos de dados Java para os da SQL.
II. Nas aplicações standalone, delega o tratamento transacional ao driver JDBC.
III. Pode ser utilizado em aplicações Java standalone ou em aplicações Java EE.
É INCORRETO o que se afirma, APENAS em- AI.
- BII.
- CIII.
- DI e II.
- EII e III.
6Considere a classe a seguir em uma aplicação que utiliza JPA e JSF.
@Entity
public class Processo {
@Min(2000)
private Integer anoInicioProcesso;
@NotNull
private Float valorPleiteado;
}
É correto afirmar que- A@NotNull não é um validador nativo e, por isso, precisará ser implementado em uma interface
- Ba anotação @Min não é permitida nesta entidade, mas sim nas servlets que recebem dados de formulários.
- C@Min e @NotNull são validadores nativos da especificação Bean Validation.
- Da anotação @Entity tem que especificar o nome da tabela do banco de dados à qual a entidade se refere.
- Ea anotação @NotNull precisa possuir um atributo value=true.
7Analise o código a seguir.
import java.sql.*;
public class Dao {
public int metodoA(String v) {
int x = 0;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection
("jdbc:mysql://localhost:3306/controle", "root", "x");
Statement st = con.createStatement();
x = st.executeUpdate(v);
return x;
} catch (ClassNotFoundException ex) {
return x;
} catch (Exception ex1) {
return x;
}
}
}
Para que o metodoA execute a operação desejada, na chamada ao método executeUpdate é necessário que ele receba como parâmetro uma instrução DML SQL- Aupdate, apenas.
- Binsert, update, delete ou select.
- Cinsert, update ou delete, apenas.
- Dinsert, apenas.
- Eupdate ou select, apenas.
8No JEE 6 é a especificação que tem como propósito unir os modelos de componentes do JSF Managed-Beans com o EJB, proporcionando um modelo de fácil implementação para aplicações web
- AContexts and Dependency Injection (CDI).
- BBean Validation.
- CExpression Language (EL).
- DBibliotecas padrão para o JSP.
- EEnterprise JavaBeans (EJB).
9Em uma servlet de uma aplicação web construída com Java EE, os dados de um objeto do tipo ArrayList chamado listaFun, contendo um conjunto de objetos de uma classe bean chamada Funcionario, foram incluídos em um atributo de requisição chamado funcionarios, enviado para um arquivo chamado exibefun.jsp. Estas operações foram realizadas pelo fragmento de código a seguir:
request.setAttribute("funcionarios", listaFun);
RequestDispatcher disp = request.getRequestDispatcher("exibefun.jsp");;
disp.forward(request, response);
No arquivo exibefun.jsp, para receber o atributo de requisição funcionarios, no interior de uma tag de scriptlet pode-se utilizar a instrução- AArrayList funcionarios = request.getAttribute("funcionarios");
- BArrayList funcionarios = (ArrayList) response.getAttribute("funcionarios");
- CArrayList funcionarios = (Funcionario) request.getAttribute("funcionarios");
- DArrayList funcionarios = (ArrayList) request.getAttribute ("funcionarios");
- EArrayList funcionarios = response.getAttribute("funcionarios").toArrayList();
10Em uma conexão JDBC com um banco de dados utilizando as classes e interfaces do pacote java.sql, o método para o qual se passa o driver de conexão é o
- AsetDriver, da classe Connection.
- BsetDriver, da classe Class.
- CforName, da classe Connection.
- DdriverManager, da classe Class.
- EforName, da classe Class.
11Sobre a plataforma Java EE 6, é correto afirmar:
- ASimplifica a implantação sem a necessidade de descritores de implantação, com exceção do descritor de implantação exigido pela especificação servlet, o arquivo web.xml.
- BNecessita do descritor de implantação ejb-jar.xml e entradas relacionadas aos web services no arquivo web.xml.
- CFaz uso de anotações (annotations). Anotações são modificadores Java, semelhantes aos públicos e privados, que devem ser especificados nos arquivos de configuração XML.
- DA especificação EJB 3, que é um subconjunto da especificação Java EE, define anotações apenas para o tipo bean.
- EAnotações são marcados com um caracter # (cerquilha).
12Na linguagem Java, o método executeQuery da interface Statement, envia uma instrução SQL select para o banco de dados e retorna, se a consulta for válida e uma conexão estiver estabelecida, um ou mais registros em um objeto da interface:
- AResultSet.
- BResultSetMetaData.
- CResultSetQueryData.
- DPreparedStatement.
- EResultTable.
Information
- Description
- FCC
- Author
- Marcelo Costa
- Language
- Português
- Views
- 13
- History
- Created on 29 Dec 2016 · updated on 23 Jan 2017
- Tags
- Rating
- No ratings yet Rate this quiz