Não. O hibernate realmente faz esta “ponte” Objeto-Relacional, com ele você tem a aparência de estar trabalhando apenas com objetos. Você tem tuas tabelas e as mapeia de acordo com teus objetos. Ele já possui todo o sistema da ‘transação’ que irá acontecer. Você tem apenas que conhecer o modo com que ele trabalha para obter sucesso.
Já o sql2java, a única coisa que ele faz, é ler teu banco de dados, e a partir dele, gera os objetos espelhos das tabelas, as classes de persistências (no caso, teus DAOs) e alguns Listeners para trabalhar alguma lógica antes e depois de chamar os métodos (algo como um proxy bem precário).
Bom, ele é bem inferior ao Hibernate, uma vez que se você alterar a tua base, deverá ir no objeto e fazer as respectivas alterações - a não ser que você queira rodar novamente o script ‘espelho’, mas isso acabará com qualquer particularidade que você tenha feito para adaptar as classes ao teu sistema.
Enfim, quando eu usei ele, no começo foi legal pq me poupou muito trabalho, mas com o tempo, as classes foram se alterando, e eu tive que perder mais tempo fazendo manutenção do que qualquer coisa. Recomendo ele apenas no caso de um sistema MUITO BEM definido (mesmo assim, hibernate é lindo).