Populating combobox from database using hibernate in Java

Heyy;

I am developing a small swing based application with hibernate in java. And I want to populate combobox from coloumn database. How can i do this?

And I don't know where (under initComponents , buttonActionPerformd ) I need to do.

To save I'am using jbutton and the code here:

 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(); } } 
+1
source share
1 answer

I do not use Hibernate, but given the JPA object named Customer and the JPA controller named CustomerJpaController you can do something like this.

Update: The code has been updated to reflect the transition to EclipseLink (JPA 2.1) as a save library.

 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<Customer> 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); } } 

Objects added to the JComboBox get their display name from the toString() object method, so Customer been changed to return getName() to display:

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

You can learn more about JComboBox in the article How to use Combo Boxes .

+5
source

All Articles