Armazenar dados no Banco de dados - Hibernate

Este método está correto:?

public void inserir(Dados dados){ 
     try{ 
         Connection x  ; 
         x = DriverManager.getConnection("jdbc:mysql://localhost:3306/empresa");
         String inserir = ("INSERT INTO  (codigo, nome, endereco, cpf)(?, ?, ?, ?)") ; 
         PreparedStatement s = x.prepareStatement(inserir) ; 
         s.setLong(1, dados.getCodigo()) ;
         s.setString(2, dados.getNome()) ; 
         s.setString(3, dados.getEndereco()) ; 
         s.setLong(4, dados.getCpf());
         s.execute() ; 
         s.close() ; 
     }
     catch (Exception e) { 
         JOptionPane.showMessageDialog(null, "Não foi possível salvar dados no banco de dados");
     }
 }

Matheus,

Isso não é Hibernate, é JDBC (Java Database Connectivity).

JDBC é a especificação que define uma série de questões para padronizar o acesso a bancos de dados. Cada empresa que possui um DB escreve seu Driver JDBC, para que ele possa ser utilizado em aplicações na JVM. Por exemplo, aqui você vê a página do JDBC do PostgreSQL: https://jdbc.postgresql.org/

Quando você utiliza JDBC, você está lidando diretamente com o banco de dados mesmo, lendo e escrevendo em tabelas. Tudo que você poderia fazer no DB, você pode fazer pelo Java, passando os comandos através de Strings.

O Hibernate (como te expliquei antes) é uma ferramenta de ORM (Object-Relational Mapping). Você configura o Hibernate para persistir as tuas ENTIDADES, e idealmente para de pensar em DB e tabelas, mas só nos objetos.

Dá uma olhada aqui (bem curtinho): https://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional

O Hibernate utiliza a API de JDBC para fazer o acesso ao banco de dados. É com ele que você deve se comunicar, e não diretamente com o DB.

E sobre o método estar correto, infelizmente eu não sei te responder só olhando. Teria que testar e ver se acontece alguma exception. O que está acontecendo?

Uma coisa que eu diria que talvez está errado é esse SQL:

INSERT INTO (codigo, nome, endereco, cpf)(?, ?, ?, ?)

Falta o nome da tabela e a palavra chave VALUES. Assim:

INSERT INTO tabela(coluna1, coluna2, coluna3) VALUES (?, ?, ?)