Wygląd DAO:
public class WykladowcyDAO {
public void add(Wykladowcy wykladowcy){
Session session = HibFactory.getInstance().openSession();
Transaction tx = session.beginTransaction();
session.saveOrUpdate(wykladowcy);
tx.commit();
session.close();
}
public void delete(int idwykladowcy){
Session session = HibFactory.getInstance().openSession();
Transaction tx = session.beginTransaction();
session.delete(session.get(Wykladowcy.class, idwykladowcy));
tx.commit();
session.close();
}
public void update(Wykladowcy wykladowcy){
Session session = HibFactory.getInstance().openSession();
Transaction tx = session.beginTransaction();
session.update(wykladowcy);
tx.commit();
session.close();
}
public List<Wykladowcy> getWykladowcy(){
Session session = HibFactory.getInstance().openSession();
Transaction tx = session.beginTransaction();
List<Wykladowcy> lWyk = session.createQuery("from Wykladowcy").list();
tx.commit();
session.close();
return lWyk;
}
public Wykladowcy getWykladowca(int idwykladowcy){
Session session = HibFactory.getInstance().openSession();
Transaction tx = session.beginTransaction();
Wykladowcy wyk = (Wykladowcy) session.get(Wykladowcy.class, idwykladowcy);
session.close();
return wyk;
}
}
Entity:
@Entity
@Table(name = "wykladowcy")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Wykladowcy.findAll", query = "SELECT w FROM Wykladowcy w"),
@NamedQuery(name = "Wykladowcy.findByIdwykladowcy", query = "SELECT w FROM Wykladowcy w WHERE w.idwykladowcy = :idwykladowcy"),
@NamedQuery(name = "Wykladowcy.findByImie", query = "SELECT w FROM Wykladowcy w WHERE w.imie = :imie"),
@NamedQuery(name = "Wykladowcy.findByNazwisko", query = "SELECT w FROM Wykladowcy w WHERE w.nazwisko = :nazwisko")})
public class Wykladowcy implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idwykladowcy")
private Integer idwykladowcy;
@Basic(optional = false)
@Column(name = "Imie")
private String imie;
@Basic(optional = false)
@Column(name = "Nazwisko")
private String nazwisko;
@ManyToMany(mappedBy = "wykladowcyCollection", fetch=FetchType.EAGER)
//private Set<Przedmioty> przedmiotySet;
private Collection<Przedmioty> przedmiotyCollection;
public Wykladowcy() {
}
public Wykladowcy(Integer idwykladowcy) {
this.idwykladowcy = idwykladowcy;
}
public Wykladowcy(Integer idwykladowcy, String imie, String nazwisko) {
this.idwykladowcy = idwykladowcy;
this.imie = imie;
this.nazwisko = nazwisko;
}
public Integer getIdwykladowcy() {
return idwykladowcy;
}
public void setIdwykladowcy(Integer idwykladowcy) {
Integer oldIdwykladowcy = this.idwykladowcy;
this.idwykladowcy = idwykladowcy;
changeSupport.firePropertyChange("idwykladowcy", oldIdwykladowcy, idwykladowcy);
}
public String getImie() {
return imie;
}
public void setImie(String imie) {
String oldImie = this.imie;
this.imie = imie;
changeSupport.firePropertyChange("imie", oldImie, imie);
}
public String getNazwisko() {
return nazwisko;
}
public void setNazwisko(String nazwisko) {
String oldNazwisko = this.nazwisko;
this.nazwisko = nazwisko;
changeSupport.firePropertyChange("nazwisko", oldNazwisko, nazwisko);
}
@XmlTransient
/*
public Set<Przedmioty> getPrzedmiotySet(){
return przedmiotySet;
}
public void setPrzedmiotySet(Set<Przedmioty> przedmiotySet){
this.przedmiotySet = przedmiotySet;
}
*/
public Collection<Przedmioty> getPrzedmiotyCollection() {
return przedmiotyCollection;
}
public void setPrzedmiotyCollection(Collection<Przedmioty> przedmiotyCollection) {
this.przedmiotyCollection = przedmiotyCollection;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idwykladowcy != null ? idwykladowcy.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 Wykladowcy)) {
return false;
}
Wykladowcy other = (Wykladowcy) object;
if ((this.idwykladowcy == null && other.idwykladowcy != null) || (this.idwykladowcy != null && !this.idwykladowcy.equals(other.idwykladowcy))) {
return false;
}
return true;
}
@Override
public String toString() {
return "bean.Wykladowcy[ idwykladowcy=" + idwykladowcy + " ]";
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
changeSupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
changeSupport.removePropertyChangeListener(listener);
}
}
Próbuje w różny sposób ostatni jaki mam zapisany
List<Wykladowcy> list = wd.getWykladowcy();
for(int i = 0;i<list.size();i++){
System.out.println("Wykladowca: "+list.get(i).getImie()+ " " + list.get(i).getNazwisko());
for(Przedmioty pr : w.getPrzedmiotyCollection()){
System.out.println(pr.getPrzedmiot());
}
}