package sakila.ui;
import java.util.List;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import sakila.entity.Produs;
import sakila.util.HibernateUtil;
public class CautComenzi
extends javax.
swing.
JFrame {
public CautComenzi() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1
= new javax.
swing.
JPanel(); jLabel1
= new javax.
swing.
JLabel(); jLabel2
= new javax.
swing.
JLabel(); idFurnizorTextField
= new javax.
swing.
JTextField(); queryButton1
= new javax.
swing.
JButton(); resultTable1
= new javax.
swing.
JTable();
jLabel1.setText("Cauta Comenzile de la un furnizor");
jLabel2.setText("Id-ul furnizorului");
queryButton1.setText("Query");
public void actionPerformed
(java.
awt.
event.
ActionEvent evt
) { queryButton1ActionPerformed(evt);
}
});
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(resultTable1);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(76, 76, 76)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(40, 40, 40)
.addComponent(idFurnizorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(102, 102, 102)
.addComponent(jLabel1))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(65, 65, 65)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 269, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(137, 137, 137)
.addComponent(queryButton1)))
.
addContainerGap(39,
Short.
MAX_VALUE)) );
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(22, 22, 22)
.addComponent(jLabel1)
.addGap(34, 34, 34)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(idFurnizorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(queryButton1)
.
addPreferredGap(javax.
swing.
LayoutStyle.
ComponentPlacement.
RELATED,
27,
Short.
MAX_VALUE) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(24, 24, 24)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.
addContainerGap(javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)) );
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.
addContainerGap(46,
Short.
MAX_VALUE)) );
pack();
}// </editor-fold>
private void queryButton1ActionPerformed
(java.
awt.
event.
ActionEvent evt
) { if (!idFurnizorTextField.getText().trim().equals(""))
runQueryBasedOnIdFurnizor();
}
private void runQueryBasedOnIdFurnizor(){
executeHQLQuery("from Comanda c where c.idfurn like '" + idFurnizorTextField.getText() + "%'" );
}
private void executeHQLQuery
(String hql
){ try{
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
org.hibernate.Query q = session.createQuery(hql);
List resultList
= q.
list(); displayResult(resultList);
session.getTransaction().commit();
}catch (HibernateException he){
he.printStackTrace();
}
}
private void displayResult
(List resultList
){ Vector<String> tableHeaders = new Vector<String>();
tableHeaders.add("IdFurn");
//tableHeaders.add("IdDepozit");
//tableHeaders.add("IdComanda");
//tableHeaders.add("IdFurnizor");
//tableHeaders.add("IdCategorie");
Produs p = (Produs) o;
oneRow.add(p.getFurnizor());
//oneRow.add(p.getDepozit());
//oneRow.add(p.getIdcomanda());
//oneRow.add(p.getFurnizor());
//oneRow.add(p.getCategorie());
tableData.add(oneRow);
}
}
public static void main
(String args
[]) { /*
* Set the Nimbus look and feel
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://d...content-available-to-author-only...e.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.
swing.
UIManager.
setLookAndFeel(info.
getClassName()); break;
}
}
java.util.logging.Logger.getLogger(CautComenzi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
java.util.logging.Logger.getLogger(CautComenzi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
java.util.logging.Logger.getLogger(CautComenzi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
java.util.logging.Logger.getLogger(CautComenzi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/*
* Create and display the form
*/
public void run() {
new CautComenzi().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.
swing.
JTextField idFurnizorTextField
; private javax.
swing.
JLabel jLabel1
; private javax.
swing.
JLabel jLabel2
; private javax.
swing.
JPanel jPanel1
; private javax.
swing.
JButton queryButton1
; private javax.
swing.
JTable resultTable1
; // End of variables declaration
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://h...content-available-to-author-only...e.net/hibernate-mapping-3.0.dtd">
<!-- Generated Apr 9, 2012 10:19:42 PM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="sakila.entity.Comanda" table="comanda" catalog="sakila">
<id name="idcomanda" type="int">
<column name="IDCOMANDA" />
<generator class="assigned" />
</id>
<many-to-one name="client" class="sakila.entity.Client" fetch="select">
<column name="IDCLIENT" />
</many-to-one>
<many-to-one name="depozit" class="sakila.entity.Depozit" fetch="select">
<column name="IDDEPOZIT" />
</many-to-one>
<many-to-one name="furnizor" class="sakila.entity.Furnizor" fetch="select">
<column name="IDFURN" />
</many-to-one>
<property name="idprodus" type="java.lang.Integer">
<column name="IDPRODUS" />
</property>
<property name="unitmas" type="java.lang.Integer">
<column name="UNITMAS" />
</property>
<property name="cantitate" type="java.lang.Integer">
<column name="CANTITATE" />
</property>
<set name="comdetals" inverse="true">
<key>
<column name="IDCOMANDA" />
</key>
<one-to-many class="sakila.entity.Comdetal" />
</set>
<set name="facturas" inverse="true">
<key>
<column name="IDCOMANDA" />
</key>
<one-to-many class="sakila.entity.Factura" />
</set>
</class>
</hibernate-mapping>