Estou aprendendo Java EE e baixei o eclipse com glassfish para o mesmo. Eu vi alguns exemplos e também li a documentação da Oracle para saber tudo sobre o Java EE 5. Conectar-se a um banco de dados foi muito simples. Abri um projeto web dinâmico, criei uma sessão EJB, usei o EntityManager e com os métodos get consegui acessar a tabela de dados armazenados.
Para meu próximo projeto, criei uma classe simples e, em seguida, acessei alguma tabela de banco de dados. O primeiro problema que encontrei foi que o atributo PersistenceUnit só seria reconhecido por EJB, Servlet etc, e não por uma simples classe java. Então, eu não poderia usar a forma EntityManager (ou posso?)
Pediram-me para usar o método "JDBC". O primeiro problema que encontrei foi conseguir a conexão com o banco de dados. Parece que tudo isso deve estar codificado. Eu tinha um persistence.xml com o qual poderia facilmente configurar a conexão do banco de dados. Até mesmo configurar um driver para o DB foi fácil. Além disso, não há métodos get / set no JDBC para acessar entidades de tabela.
Como posso entender JPA e persistência em relação a JDBC? O que foi pensado para JPA? Por que existem métodos set / get? Alguém pode lançar alguma luz sobre a essência desses dois e quais são os prós / contras sem "jargões" ?? Por favor, também sugira alguns links. Uma simples pesquisa no Google por diferenças de JPA e JDBC me levou a alguns sites cheios de "terminologia" que não consegui acompanhar :(