Estoy aprendiendo Java EE y descargué el eclipse con glassfish para el mismo. Vi algunos ejemplos y también leí los documentos de Oracle para saber todo sobre Java EE 5. La conexión a una base de datos fue muy simple. Abrí un proyecto web dinámico, creé una sesión EJB, usé EntityManager y con los métodos get pude acceder a la tabla de datos almacenados.
Para mi próximo proyecto, tuve que crear una clase simple y luego acceder a una tabla de base de datos. El primer problema que encontré fue que el atributo PersistenceUnit solo sería reconocido por EJB, Servlet, etc. y no por una simple clase Java. Entonces, no pude usar la forma EntityManager (¿o puedo?)
Se me pidió que pasara por la vía "JDBC". El primer problema que encontré fue conseguir la conexión a la base de datos. Parece que todo esto debe estar codificado. Tenía un persistence.xml con el que podía configurar fácilmente la conexión de la base de datos. Incluso configurar un controlador para la base de datos fue fácil. Además, no hay métodos get / set en JDBC para acceder a las entidades de la tabla.
¿Cómo entiendo JPA y la persistencia en relación con JDBC? ¿Para qué se pensó JPA? ¿Por qué hay métodos set / get? ¿Alguien puede arrojar algo de luz sobre la esencia de estos dos y cuáles son los pros / contras sin "jergas"? Sugiera también algunos enlaces. Una simple búsqueda en Google de las diferencias entre JPA y JDBC me llevó a algunos sitios llenos de "terminología" que no podía seguir :(