Rellenar el cuadro combinado de la base de datos utilizando hibernate en Java

Heyy;

Estoy desarrollando una pequeña aplicación basada en swing con hibernate en java. Y quiero llenar el combobox del coloumn de la base de datos. ¿Como puedo hacer eso?

Y no sé dónde (bajo initComponents , buttonActionPerformd ) tengo que hacer.

Para guardar estoy usando jbutton y su código está aquí:

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { int idd=Integer.parseInt(jTextField1.getText()); String name=jTextField2.getText(); String description=jTextField3.getText(); Session session = null; SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); session = sessionFactory.openSession(); Transaction transaction = session.getTransaction(); try { ContactGroup con = new ContactGroup(); con.setId(idd); con.setGroupName(name); con.setGroupDescription(description); transaction.begin(); session.save(con); transaction.commit(); } catch (Exception e) { e.printStackTrace(); } finally{ session.close(); } } 

No uso Hibernate, pero dada una entidad JPA llamada Customer y un controlador JPA llamado CustomerJpaController , puedes hacer algo como esto.

Actualización: Código actualizado para reflejar un cambio a EclipseLink (JPA 2.1) como la biblioteca de persistencia.

 import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.List; import javax.swing.JComboBox; import javax.swing.JFrame; /** * @see http://stackoverflow.com/a/2531942/230513 */ public class CustomerTest implements Runnable { public static void main(String[] args) { EventQueue.invokeLater(new CustomerTest()); } @Override public void run() { CustomerJpaController con = new CustomerJpaController( Persistence.createEntityManagerFactory("CustomerPU")); List list = con.findCustomerEntities(); JComboBox combo = new JComboBox(list.toArray()); combo.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JComboBox cb = (JComboBox) e.getSource(); Customer c = (Customer) cb.getSelectedItem(); System.out.println(c.getId() + " " + c.getName()); } }); JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(combo); f.pack(); f.setVisible(true); } } 

Los objetos añadidos a un JComboBox obtienen su nombre de visualización del método toString() del objeto, por lo que el Customer fue modificado para devolver getName() con fines de visualización:

 @Override public String toString() { return getName(); } 

Puede obtener más información sobre JComboBox en el artículo Cómo usar cuadros combinados .