Persistir dados na base

Boa tarde.

Estou desenvolvendo um sistema desktop em Java Swing com banco de dados Firebird. Gostaria de saber qual a melhor maneira de fazer a persistencia dos dados, comecei fazer fazendo tudo na mão mesmo, PreparedStatement, execute, resultSet para consultas… Mas gostaria de saber se há uma maneira mais prática de fazer isso. Já sei que há o Hibernate, mas tem como implementar isso de outra forma? Como usar as annotations para definir nome de tabelas nas classes e nome de colunas nos atributos e depois listar essas annotations e montar os SQLs de insert, update, delete e select em cima dessas informações?

Pelo hibernate vc pode trabalhar com e sem anotações.

E as consultas podem ser em criteria ou hql ou mesmo com sql.

Mas o ideal é usar as2 primeiras que citei.

Se vc não tem idéia de como começar, pode dar uma lida nesses tutoriais do guj:
http://www.guj.com.br/article.show.logic?id=125
http://www.guj.com.br/article.show.logic?id=174
http://www.guj.com.br/article.show.logic?id=182

E com hibernate vc esquece os insert into, update set e delete from, não é preciso nada disso, como vc vai ver nos tutoriais que passei.

Não entendi muito bem a pergunta. Você mesmo já mencionou o Hibernate (que também trabalha com annotations).
Você está querendo escrever uma implementação de JPA ou simplesmente não quer usar o Hibernate?
Existem outras opções, como por exemplo o TopLink

Você pode persistir os dados na mão:

  • fazendo a camando de persistência inteira (criando objetos DAO - que utilizam o patter Data Access Object);
  • Implementar a JPA;
  • Ou usar o Hibernate. Mas o Hibernate não é a única solução de persistência.

De quaqluer modo, você precisará de um tutorial ou algum livro, pois não é o tipo de resolução que alguém vai conseguir te explicar em um fórum. Voce terá que estudar todos os conceitos a parte.

Abraço!