Hibernate & JPA ou JDBC?

Pessoal qual usar, jdbc puro, ou usar hibernate e jpa para persistencia ao banco de dados?
qual vcs me recomendam a usar?

JDBC ou JdbcTemplate

Se não for um sistema com grandes acessos necessitando de alta escalabilidade, poderia até usar spring data jpa com hibernate, além de suas mágicas é aberto a jpql e sql nativo. SessionFactory do hibernate é um exemplo de objeto pesado sempre presente na memória, então isso é um dos itens que deve ser considerado na escalabilidade. Mas eu particularmente prefiro jdbc template por ser uma solução mais leve para banco de dados relacionais naturalmente baseados em SQL, sem o excesso de engenharia do jpa/hibernate.

Para processamento em massa sempre use jdbc puro, sem o overhead de jogar em lista de objetos intermediários.

é isto que estou em dúvida, estou desenvolvendo um programinha de estoque, usando javafx, sendo uma aplicação desktop, jdbc puro é o mais recomendável? @javaflex

Não sou o @javaflex, mas vou deixar a minha opinião aqui:

Se for pra praticar faria com JPA mesmo, além do que mesmo que não fosse, não vejo a JPA como um problema para esse tipo de sistema, pois na minha opinião, só daria problema (atrasos de ms) se sua aplicação tiver vários acessos simultâneos, diversas atualizações em tempo real e uma busca grande de dados no banco.

Desktop pode usar tranquilamente spring data jpa, não cai no cenário que falei.

Javaflex, o que você considera um sistema de alta escalabilidade? Quantos acessos simultâneos poderia ser critico para uma api usando Hibernate/JPA? Levando-se em consideração 2gb de ram e uns 2 cores?

Um exemplo seria um sistema pra venda de ingressos, que atendem eventos concorridos. A fábrica de overhead de sessões do hibernate será multiplicado pelo número de instancias da aplicação.