Subido por Bruno Blanco

EjerciciosRepaso- JAVA-EE

Anuncio
Preguntas Verdadero/Falso y múltiple opción
Pregunta 1
Un servidor Java EE proporciona:
Seleccione una:
a. Sólo Contenedor Web
b. Contenedor de EJBs y Contenedor Web
c. Ninguna de las anteriores
d. Sólo Contenedor de EJBs
Pregunta 2
La capa encargada de mostrar la interfaz al usuario es
Seleccione una:
a. La capa de acceso a datos
b. La capa de negocios
c. La capa de presentación
Pregunta 3
Un servidor de aplicaciones que sea Java EE certificado, deberá proveer los servicios que
define la especificación Java EE
Seleccione una:
Verdadero
Falso
Pregunta 4
WildFly no es un servidor de aplicaciones Java EE
Seleccione una:
Verdadero
Falso
Pregunta 5
Se necesita implementar un componente de negocios que permita modificar cierta
entidad.
Qué tipo de EJB voy a necesitar?
Seleccione una:
a. Un session bean singleton
b. Un session bean con estado
c. Un session bean sin estado
d. Un message driven bean
Pregunta 6
Se necesita implementar un componente de negocios EJB que sea capaz de registrar
las compras de un usuarios.
Qué tipo de EJB necesitaré?
Seleccione una:
a. Un session bean con estado
b. Un session bean singleton
c. Un session bean sin estado
d. Un message driven bean
Pregunta 7
Se necesita implementar un componente de negocios que permita procesar mensajes
en forma asíncrona.
Qué tipo de EJB voy a necesitar?
Seleccione una:
a. Un session bean sin estado
b. Un session bean con estado
c. Un message driven bean
d. Un session bean singleton
Pregunta 8
Se necesita implementar un componente de negocios que permita almacenar datos
comunes a todos los usuarios de una aplicación.
Qué tipo de EJB voy a necesitar?
Seleccione una:
a. Un session bean singleton
b. Un session bean sin estado
c. Un session bean con estado
d. Un message driven bean
Pregunta 9
Se quiere implementar un componente de negocios EJB que permita obtener todos los
productos de un supermercado.
Qué trozo de código es el más indicado?
Seleccione una:
a. @Singleton
public class ProductosBean {
public List<Producto> obtenerProductos(){
....
}
}
b. @Stateful
public class ProductosBean {
public List<Producto> obtenerProductos(){
....
}
}
c. @Stateless
public class ProductosBean {
public List<Producto> obtenerProductos(){
....
}
}
Pregunta 10
Quiero construir un EJB que permite sólo el acceso local, que opción u opciones son
correctas?
Seleccione una o más de una:
a. Ninguna de las anteriores es correcta
b.
Anotar la interfaz de negocio como @Local:
@Local
public interface MyBeanLocal { ... }
c.
Crear una clase de implementación de EJB:
@LocalBean
public class MyBean {...}
d.
Especificar la interfaz mediante la anotación @Local y el nombre de la interfaz:
@Local(​MyBeanInterfaz.​ class)
public class ​MyBean​ implements ​MyBeanInterfaz{​ ... }
Pregunta 11
Que anotación debo agregarle a la implementación de un EJB para indicar que no se va a
acceder de forma remota
Seleccione una:
a. @Stateless
b. @Remote
c. @Local
d. @LocalBean
Pregunta 12
Dada la siguiente definición de la entidad:
@Entity
@Table(name = "PRODUCTOS")
public class Producto{
...
}
Cuál será el nombre de la tabla en la base de datos correspondiente a esta entidad?
a.
b.
c.
d.
PRODUCTO
Producto
PRODUCTOS
productos
Pregunta 13
Dada la siguiente entidad:
@Entity
public class Producto{
@Id
@GeneratedValue
private Long id;
private String codigo;
...
}
Si quiero que el nombre sea obligatorio en la entidad, debo anotar el atributo de la siguiente
manera:
Seleccione una:
a. @Column(optional=false)
b. @NotNullable
c. @Column(nullable=false)
Pregunta 14
Si quiero que un campo de una entidad no sea almacenado en la base de datos, debo:
Seleccione una:
a. Anotar el atributo como @Transient
b. No existe manera de configurarlo
c. No ponerle ninguna anotación al atributo
Pregunta 15
Si defino un atributo de una entidad de la siguiente manera:
@Enumerated
private Categoria producto;
donde
public enum Categoria {
PERECEDERO,
NO_PERECEDERO
}
De que tipo de dato queda definida la columna estado?
Seleccione una:
a. Tipo String conteniendo los valores: PERECEDERO, NO_PERECEDERO
b. Tipo Numérico conteniendo los valores: 0, 1
Pregunta 16
Dado el siguiente trozo de código:
@Entity
public class Supermercado implements Serializable {
private List<Producto> productos;
…
}
Y sabiendo que un supermercado una lista de productos, y que un producto no puede estar en
más de un supermercado a la vez: qué relación definiría para Producto?
Seleccione una:
a. @OneToMany
b. @ManyToMany
c. @OneToOne
d. @ManyToOne
Pregunta 17
Dado el siguiente trozo de código:
(Siendo Empleado una entidad y em el EntityManager)
Empleado empleado= new Empleado ();
empleado.setNombre("Juan");
em.persist(empleado);
empleado.setNombre("Maria");
Con qué nombre se graba el empleado?
Seleccione una:
a. Da error, no puedo setear atributos luego de persistir la entidad
b. Juan
c. Maria
Pregunta 18
Dado el siguiente trozo de código
(Siendo empleado una entidad y em el EntityManager)
Empleado empleado= new Empleado ();
empleado.setNombre("Juan");
em.persist(empleado);
empleado.setNombre("Maria");
em.refresh(empleado);
Con que valor termina el nombre del empleado ?
Seleccione una:
a. Maria
b. Juan
c. Da error, no puedo hacer un refresh luego de un persist
Pregunta 19
Dado el siguiente trozo de código:
(Siendo ​Empleado ​una entidad y em el EntityManager)
Empleado empleado= new Empleado ();
empleado.setNombre("Juan");
em.persist(empleado);
empleado.setNombre("Maria");
em.detach(empleado);
empleado.setNombre("Jose");
em.merge(empleado);
Con que valor termina el nombre del Empleado ?
Seleccione una:
a. Ninguno de los anteriores
b. Juan
c. Maria
d. Jose
Pregunta 20
Dado el siguiente trozo de código:
(Siendo ​Empleado ​una entidad y em el EntityManager)
Empleado empleado= em.find(Empleado .Class, 1);
em.remove(empleado);
empleado.setNombre("Juan");
Qué termina pasando con el empleado?
Seleccione una:
a. El empleado 1 se borra de la base de datos.
b. El código anterior da error porque no puedo hacer set de una entidad removida
c. El empleado 1 se borra de la base de datos y luego se vuelve a agregar en la misma cuando
se hace el set del nombre.
Pregunta 21
El método flush() sirve para forzar la sincronización con la base de datos
Seleccione una:
Verdadero
Falso
Pregunta 22
Tengo un entity llamado Empleado donde tengo definido:
@NamedQuery (
name = "Empleado.obtenerPorEdad",
query = "SELECT e FROM Empleado e WHERE e.edad = :edad"
)La forma correcta de ejecutar esta query es:
Seleccione una:
a.
em.createNativeQuery("Empleado.obtenerPorEdad").setParameter("edad", 20).getResultList();
b.
em.createQuery("Empleado.obtenerPorEdad").setParameter("edad", 20).getResultList();
c.
em.createNamedQuery("Empleado.obtenerPorEdad").setParameter("edad", 20).getResultList();
Ejercicio Práctico 1
Se tiene la siguiente realidad:
Una empresa de venta de celulares quiere llevar registro los celulares comprados. De cada
celular interesa guardar: numero (obligatorio), compañía (ANTEL, Claro o Movistar), peso y
cliente que lo compró.
Del cliente interesa su nombre, ci (obligatorio), mail.
Un celular puede tener un solo cliente que lo compró, y cada cliente puede haber comprado
muchos celulares.
Se pide implementar las entidades, atributos y relaciones necesarias para esta realidad, con las
anotaciones correspondientes.
Entregar archivo .rar con las entidades Celular y Cliente
Ejercicio Práctico 2
Para la realidad anterior, se quiere crear un enterprise java bean que permita:
- crear un cliente dado su nombre, ci, mail.
- crear un celular dado su numero, compañía y peso, y el identificador del cliente que lo
compró.
- eliminar un cliente dado el identificador del mismo
- obtener todos los cliente
- obtener todos las celulares de un cliente dada la ci del cliente
Este EJB no se va a acceder por fuera del servidor Java EE (tener esto en cuenta a la hora de
elegir el tipo de acceso).
Entregar el EJB implementado.
Descargar