我有一个名为' Customer'的班级。这个类与其他名为“Auftraege'”的类有一个OneToMany关系。
@Entity
@NamedQuery(name = "all.customers", query = "SELECT c FROM Customer c")
public class Customer implements Serializable {
private static final long serialVersionUID = 1L;
public Customer() {
super();
}
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "_id_auftrag", referencedColumnName = "_id")
private Set<Auftraege> auftraege = new HashSet<Auftraege>();
[getter/setter]
}
Auftraege.class
@Entity
public class Auftraege implements Serializable {
private static final long serialVersionUID = 1L;
public Auftraege() {
super();
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int _id;
@Column(unique = true)
private int auftragsnummer;
@Temporal(TemporalType.TIMESTAMP)
private Date datum;
@Column(length = 60)
private String themengebiet;
@Column(length = 10)
private String status;
@Column(length = 350)
private String begruendung;
public int get_id() {
return _id;
}
public void set_id(int _id) {
this._id = _id;
}
public int getAuftragsnummer() {
return auftragsnummer;
}
public void setAuftragsnummer(int auftragsnummer) {
this.auftragsnummer = auftragsnummer;
}
public Date getDatum() {
return datum;
}
public void setDatum(Date datum) {
this.datum = datum;
}
public String getThemengebiet() {
return themengebiet;
}
public void setThemengebiet(String themengebiet) {
this.themengebiet = themengebiet;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getBegruendung() {
return begruendung;
}
public void setBegruendung(String begruendung) {
this.begruendung = begruendung;
}
}
现在,我想改变“状态”状态。 &#39; Auftraege&#39;中的属性上课到另一个条目。 为此,我有一个数据表,其中包含客户,如果我点击一个按钮(每行有一个),我想要获得点击的行客户并更改“状态”&#39;属于Auftraege&#39;类。但我怎么能这样做?我总是将所有的Auftraege作为客户的清单,但我只想要一个,我点击了。 这是我点击表格中的按钮时调用的类:
@Named
@SessionScoped
public class AuswertungBean implements Serializable {
public void genehmigen(Customer c) {
Customer cu = c;
for (Auftraege a : cu.getAuftraege()) {
System.out.println(a.getAuftragsnummer());
}
}