« Return to Thread: jComboBox and JPA
Hi everyone ,
i am new at Java , i got a problem like this ;
i have got a desktop application , there is 2 jComboBox in JFrame.One of this jComboBox is hold Personels from Personel Table and another is take Personel's title.When jComboBox1's selected index changes occurs it will get personelid and fill jComboBox2 with its title.Thats so simple.But when selected index changes it filling with whole titles not only specific personel but also whole of them.
here is my codes ;
// TITLE CLASS
@Entity
@Table(name = "Unvan", catalog = "tksDB", schema = "dbo")
@NamedQueries({@NamedQuery(name = "Unvan.findAll", query
= "SELECT u FROM Unvan u"), @NamedQuery(name =
"Unvan.findByUnvanID", query = "SELECT u FROM Unvan u
WHERE u.unvanID = :unvanID"), @NamedQuery(name =
"Unvan.findByUnvanAdi", query = "SELECT u FROM Unvan u
WHERE u.unvanAdi = :unvanAdi")})
public class Unvan implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new
PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "UnvanID", nullable = false)
private Integer unvanID;
@Column(name = "UnvanAdi", length = 50)
private String unvanAdi;
@OneToMany(mappedBy = "unvanID")
private Collection<Personel> personelCollection;
public Unvan() {
}
public Unvan(Integer unvanID) {
this.unvanID = unvanID;
}
public Integer getUnvanID() {
return unvanID;
}
public void setUnvanID(Integer unvanID) {
Integer oldUnvanID = this.unvanID;
this.unvanID = unvanID;
changeSupport.firePropertyChange("unvanID",
oldUnvanID, unvanID);
}
public String getUnvanAdi() {
return unvanAdi;
}
public void setUnvanAdi(String unvanAdi) {
String oldUnvanAdi = this.unvanAdi;
this.unvanAdi = unvanAdi;
changeSupport.firePropertyChange("unvanAdi",
oldUnvanAdi, unvanAdi);
}
public Collection<Personel> getPersonelCollection() {
return personelCollection;
}
public void
setPersonelCollection(Collection<Personel>
personelCollection) {
this.personelCollection = personelCollection;
}
@Override
public int hashCode() {
int hash = 0;
hash += (unvanID != null ? unvanID.hashCode() :
0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the
case the id fields are not set
if (!(object instanceof Unvan)) {
return false;
}
Unvan other = (Unvan) object;
if ((this.unvanID == null && other.unvanID !=
null) || (this.unvanID != null &&
!this.unvanID.equals(other.unvanID))) {
return false;
}
return true;
}
@Override
public String toString() {
return unvanAdi;
}
public void
addPropertyChangeListener(PropertyChangeListener
listener) {
changeSupport.addPropertyChangeListener(listener);
}
public void
removePropertyChangeListener(PropertyChangeListener
listener) {
changeSupport.removePropertyChangeListener(listener);
}
//PERSONEL CLASS
@Entity
@Table(name = "Personel", catalog = "tksDB", schema =
"dbo")
@NamedQueries({@NamedQuery(name = "Personel.findAll",
query = "SELECT p FROM Personel p"), @NamedQuery(name =
"Personel.findByPersonelID", query = "SELECT p FROM
Personel p WHERE p.personelID = :personelID"),
@NamedQuery(name = "Personel.findByPersonelAdSoyad",
query = "SELECT p FROM Personel p WHERE p.personelAdSoyad
= :personelAdSoyad")})
public class Personel implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new
PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "PersonelID", nullable = false)
private Integer personelID;
@Column(name = "PersonelAdSoyad", length = 50)
private String personelAdSoyad;
@JoinColumn(name = "UnvanID", referencedColumnName =
"UnvanID")
@ManyToOne
private Unvan unvanID;
public Personel() {
}
public Personel(Integer personelID) {
this.personelID = personelID;
}
public Integer getPersonelID() {
return personelID;
}
public void setPersonelID(Integer personelID) {
Integer oldPersonelID = this.personelID;
this.personelID = personelID;
changeSupport.firePropertyChange("personelID",
oldPersonelID, personelID);
}
public String getPersonelAdSoyad() {
return personelAdSoyad;
}
public void setPersonelAdSoyad(String
personelAdSoyad) {
String oldPersonelAdSoyad = this.personelAdSoyad;
this.personelAdSoyad = personelAdSoyad;
changeSupport.firePropertyChange("personelAdSoyad",
oldPersonelAdSoyad, personelAdSoyad);
}
public Unvan getUnvanID() {
return unvanID;
}
public void setUnvanID(Unvan unvanID) {
Unvan oldUnvanID = this.unvanID;
this.unvanID = unvanID;
changeSupport.firePropertyChange("unvanID",
oldUnvanID, unvanID);
}
@Override
public int hashCode() {
int hash = 0;
hash += (personelID != null ?
personelID.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the
case the id fields are not set
if (!(object instanceof Personel)) {
return false;
}
Personel other = (Personel) object;
if ((this.personelID == null && other.personelID
!= null) || (this.personelID != null &&
!this.personelID.equals(other.personelID))) {
return false;
}
return true;
}
@Override
public String toString() {
return personelAdSoyad;
}
public void
addPropertyChangeListener(PropertyChangeListener
listener) {
changeSupport.addPropertyChangeListener(listener);
}
public void
removePropertyChangeListener(PropertyChangeListener
listener) {
changeSupport.removePropertyChangeListener(listener);
}
//// cODes when jCombobox actionevent fired
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("SwingDenemePU");
EntityManager em = emf.createEntityManager();
Query sorgu = em.createQuery("select p from
Personel p where p.unvanID = :id");
sorgu.setParameter("id",
((Unvan)jComboBox1.getSelectedItem()).getUnvanID());
personelList = sorgu.getResultList();
Object[] items = new Object[personelList.size()];
for (int i = 0; i < personelList.size(); i++) {
Personel personel = personelList.get(i);
items=personel.getPersonelAdSoyad();
}
DefaultComboBoxModel def = new
DefaultComboBoxModel(items);
jComboBox2.setModel(def);
« Return to Thread: jComboBox and JPA
| Free embeddable forum powered by Nabble | Forum Help |