AD Clse 10 T4 -T5
|
|
Título del Test:
![]() AD Clse 10 T4 -T5 Descripción: AD Clse 10 T4 -T5 |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Qué problema intenta resolver una Base de Datos Orientada a Objetos (BDOO)?. Mejorar los JOIN de SQL. Reducir el tamaño de almacenamiento. Evitar la conversión objetos -> tablas. Sustituir completamente SQL. ¿Qué elemento pertenece al estándar ODMG?. SQL. ODL y OQL. HTML. JDBC. ¿Qué indica la anotación @Entity en JPA?. Que la clase es un servicio. Que la clase es persistente. Que la clase genera vistas HTML. Que la clase no necesita identificador. En una relación @OneToMany, ¿dónde se almacena la clave foránea?. En el lado “uno”. En el lado “muchos”. En una tabla intermedia. No existe clave foránea. ¿Qué caracteriza a ObjectDB?. Solo funciona con SQL. No admite anotaciones JPA. Guarda objetos directamente. No permite consultas JPQL. ¿Qué lenguaje de consulta utiliza Hibernate?. SQL. JPQL. HQL. OQL. ¿Qué anotación define la clave primaria de una entidad?. @Primary. @Id. @Key. @EntityId. ¿Qué efecto produce usar cascade = CascadeType.PERSIST en una relación?. No permite guardar la entidad. Borra automáticamente las entidades relacionadas. Guarda también las entidades relacionadas. Obliga a insertar manualmente las entidades hijas. ¿Qué significa el término “impedancia objeto-relacional”?. Problema de velocidad entre BD y Java. Dificultad para transformar objetos en tablas. Falta de memoria RAM en sistemas grandes. Un error de Hibernate al guardar entidades. ¿Qué función cumple la capa de persistencia dentro de una aplicación basada en JPA/Hibernate?. Gestionar la interfaz gráfica. Encargarse del acceso a datos y del mapeo objeto-relacional. Gestionar la seguridad del sistema. Crear logs automáticos del servidor. Dado el siguiente fragmento de código: @Entity public class Libro { @Id @GeneratedValue private Long id; private String titulo; @ManyToOne private Autor autor; } ¿Qué describe correctamente esta relación?. Un autor solo puede tener un libro. Muchos autores pertenecen a un único libro. Muchos libros pueden pertenecer al mismo autor. La relación es obligatoriamente bidireccional. ¿Qué problema presenta el siguiente controlador REST? @RestController @RequestMapping("/api") public class PersonaController { @Autowired private PersonaService service; @GetMapping("/personas") public List<Persona> obtenerPersonas() { return service.getPersonas(); } @PostMapping("/personas") public Persona crearPersona (Persona persona) { return service.guardar(persona); }. El método GET está mal definido. El método POST no usa @RequestBody. Falta @Entity en Persona. No se puede usar @Autowired en un controlador. ¿Cuál de las siguientes afirmaciones describe mejor el principio de "stateless" en una API REST?. El servidor recuerda el estado de cada usuario. El cliente almacena el estado del servidor. Cada petición debe contener toda la información necesaria. La API solo puede usar JSON. Analiza este código y determina qué capa está violando el patrón MVC: public class ProductoService { public String obtenerNombreProducto(Long id) { Producto p = repository.findById(id).orElse(null); return "<h1>" + p.getNombre() + "</h1>"; } }. No viola ninguna regla de MVC. La capa de servicio está generando HTML. El repositorio no se usa correctamente. Falta @Autowired en el servicio. ¿Cuál de las siguientes anotaciones crea un bean gestionado por Spring en cualquier capa?. @Bean. @Repository. @Controller. @Component. ¿Cuál de estos códigos viola las buenas prácticas REST? @GetMapping("/crearProducto") public Producto crear() { return service.crearNuevo(); }. No devuelve JSON. El endpoint usa GET pero realiza una operación de creación. No se usa ResponseEntity. Le falta @RequestParam. ¿Cuál es la principal razón para usar una capa de servicio en una aplicación con arquitectura Spring?. Acceder directamente a la base de datos. Agrupar la lógica de negocio y evitar que el controlador se sobrecargue. Validar formularios HTML. Generar automáticamente las respuestas JSON. Dado el repositorio: public interface UsuarioRepository extends JpaRepository<Usuario, Long> { Usuario findByEmail(String email); } ¿Qué operación está realizando findByEmail?. Es una consulta JPQL definida manualmente. Es una consulta SQL nativa. Es una consulta generada automáticamente por Spring Data. Es un método que nunca funcionará. ¿Qué problema tiene esta API? @DeleteMapping("/usuarios/{id}") public void eliminarUsuario() { servicio.eliminar(id); }. El método DELETE debería devolver un objeto. Falta recibir el parámetro id en el método. No se puede usar DELETE en Spring. Los servicios no deben eliminar datos. ¿Cuál de estas es la forma recomendada hoy en día para inyectar dependencias en Spring?. Campos con @Autowired. Setter con @Autowired. Constructor sin @Autowired (inyección implícita). Crear manualmente el objeto con new. ¿Cuál es el problema de este controlador? @GetMapping("/buscar") public Usuario buscar(String email) { return repo.findByEmail(email); }. GET no puede recibir parámetros. El parámetro email debería anotarse con @RequestParam. El método findByEmail no puede usarse en controladores. Debe devolver ResponseEntity obligatoriamente. |





