OneToMany 関係を持つ 2 つのエンティティ "contact" と "client" があり、"client" が selectOneMenu から回復する ManyToOne 属性を持つ連絡先を追加したいと考えています。追加が行われず、エラーが発生しないという問題。
エンティティ client.java
@Entity
public class Client implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int client_id;
private String client_n;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "client", orphanRemoval=true)
private List<Contact> contacts;
@ManyToMany(mappedBy="clients")
private List<Profil> profils;
public void addContact(Contact contact) {
this.contacts.add(contact);
if (contact.getClient() != this) {
contact.setClient(this);
}
}
Service.java
public void setContactClient(int contactId, int clientId) {
dao=new ClientContact();
dao.beginTransaction();
Contact contact = findContact(contactId);
Client client = findClient(clientId);
client.addContact(contact);
contact.setClient(client);
dao.updateT(client);
dao.updateY(contact);
dao.closeTransaction();
}
ManagedBean.java
@SessionScoped
public class ClientMB extends AbstractMB implements Serializable {
private Client client;
private List<Client> clients;
private ClientService clientService=new ClientService();
private int refCont;
private testService testService=new testService();
public void addContact(){
System.out.println("début ajout");
testService.setContactClient(refCont,client.getClient_id());
System.out.println("client MB: "+client.getClient_n()+" la liste de ses contacts: "+client.getContacts());
}
私は何が起こったのかわからない?