Olá!!
Estou fazendo uns testes antes de dar continuidade ao projeto final de curso.
Bem, minha dúvida é como fazer o código aparecer na JTextField, sendo que este ID é auto-incrementado.
Alguém pode me ajudar? Eu uso netbeans 7.0, hibernate e SQL Server 2008.

Como fazer para mostrar o ID em uma JTextField, quando este ID é auto-incrementado?
11 Respostas
Basta você ao realizar a consulta no banco de dados, trazer além dos valores desejados o ID também, ai no campo JTextField você irá passar como valor o id da consulta, lembrando que seria bom você deixar esta campo de forma a não poder sofrer alteração.
O id deve aparecer antes ou após a inserção?
Se for depois, o próprio hibernate associa o ID ao objeto que está persistindo (e que acaba de ser tratado).
Olá, drsmachado e leocantanhede.
Eu quero que o ID apareça assim que eu abrir a janela de cadastro, ou seja, antes de acionar o evento salvar. Há essa possibilidade?
Dessa maneira eu sei quantos livros já foram cadastrados. E também, na hora de cadastrar o exemplar ele pegar o código da Obra que tá sendo cadastrada.
Como faço isso?
Está anexo o print da telinha de cadastro de obras. (Algo bem simplees! Rsrsrsrsrsr…)
Aguardo mais respostas.
beijos!
Hum.
Neste sentido, será preciso fazer uma consulta ao banco de dados, selecionando o último inserido e, obtendo o ID deste, somar mais 1, que será o ID do novo objeto.
Oi, drsmachado. 
Como faço isso?
É preciso popular o JTextField?
Existe um método que carrega o JFrame, certo?
Assim sendo, você deve inserir uma rotina que faça a consulta pelo maior ID da tabela relativa ao tipo de objeto que será inserido.
essa é uma boa pergunta… pois se o ID é gerado automaticamente em sequencia pelo banco de dados, então na hora de inserir um novo registro você não vai saber qual é o próximo ID.
Existe uma forma que é bem POG, que seria fazer um sql na mão pesquisando no banco qual o maior ID e retornar adicionando 1…
ultimoId + 1 = idASerGerado
O problema disso ai é que se alguem abrir a tela depois de você e gravar primeiro, então quando vc for gravar vai da erro, falando que o ID já existe!..
Então, alandiniz, posso retornar numa janela o valor do ID do livro cadastrado?
Olá gente! Eu tentei fazer da seguinte maneira:
List<Obra> obra;
private void ListarCodigoObra(){
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
obra = session.createQuery("FROM Obra").list();
if (obra.isEmpty()){
JOptionPane.showMessageDialog(null, "Nenhum registro encontrado.");
} else {
jTextField1.removeAll();
for (int i = 0; i < obra.size(); i++) {
// Nesta parte não tô conseguindo preencheer a JtextField!
//obra.get(i).getCodObra();
}
}
session.close();
}
Alguem pode me dar uma luz? Rsrsrsrsrs…

Com essa estratégia, ficaria dificilimo deixar esse sitema ser usado por 2 pessoas.
Perceba que duas pessoas, cadastrando um livro ao mesmo tempo, veriam o mesmo id.
Para obter um ID recém cadastrado, não é necessário rodar uma segunda consulta no banco de dados, pois o Hibernate faz isso sozinho.
Mesmo no JDBC também, também seria possível usar o método getGeneratedKeys().
Oi ViniGodoy, tem certeza quando diz que:
Com essa estratégia, ficaria dificilimo deixar esse sitema ser usado por 2 pessoas.
Perceba que duas pessoas, cadastrando um livro ao mesmo tempo, veriam o mesmo id.
Então como faço pra preencher o JtextField quando quero buscar no banco e preencher na tela para atualização de dados?
List<Obra> obra;
private void BuscarIdLivro(Integer codObra){
Session session = HibernateUtil.getSessionFactory().openSession();
List lista = new ArrayList();
lista = session.getNamedQuery("Obra.findByCodObra").setParameter("codObra", codObra).list();
jTextField1.setText(lista.toString());
session.close();
}
No InitComponets tento chamar o metodo mas ele fica assim:
E me retorna no jtextfield 0.
