2016-06-27 5 views
0

업데이트 문에서 ManyToMany 관계를 업데이트하려고합니다. session.update (객체) 때문에 갈등의 문제를 야기하기 때문에이 HQL 문에서 ManyToMany 관계를 업데이트 할 수있는 경우목록으로 최대 절전 모드로 업데이트

public class Reference implements Serializable { 

private static final long serialVersionUID = 1L; 

@Id 
@GeneratedValue(strategy=GenerationType.AUTO, generator="user_gen") 
@SequenceGenerator(name="user_gen", sequenceName="SEQ_USER") 
@Column(name = "DOCUMENTID", nullable = false) 
private int documentID; 

@Column(name = "REFERENCE") 
private String reference = ""; 

@Column(name = "CODE") 
private String code = ""; 

@Column(name = "REMARK") 
private String remark = ""; 

@Column(name = "TITLE") 
private String title = ""; 

@ManyToMany(cascade = CascadeType.ALL, fetch=FetchType.EAGER) 
@JoinTable(name = "DOCUMENTS_MACHINES", joinColumns = { @JoinColumn(name = "DOCUMENTID") }, inverseJoinColumns = { @JoinColumn(name = "MACHINEID") }) 
private Set<Machine> machines = new HashSet<Machine>(); 

내가 알고 싶습니다 : 나는 참조 클래스를 사용하고 , 여기에 클래스 속성이 누락되었습니다.

내가 무엇을 시도했다 :

 String hqlUpdate = "update Reference r " + 
      "set r.title = :title, " + 
      "r.machines = :machines " + 
      "where r.documentID = :id"; 

    int updatedEntities = session.createQuery(hqlUpdate) 
      .setString("title", reference.getTitle()) 
      .setParameterList("machines", reference.getMachines()) 
      .setInteger("id", reference.getDocumentID()) 
      .executeUpdate(); 

그러나, 그것은 작동하지 않습니다, 그래서 내 질문은 : 그것은 수집과 어떻게 업데이트 할 수 있습니까?

many to many hibernate update

는 또한 CascadeType를 보라 : 많은 최대 절전 모드 업데이트 매핑 쿼리 예를 들어 많은 것을

답변

0

확인 감사합니다. 관계 주석에서 CascadeType을 사용하여 저장/업데이트 작업의 동작을 직접 설정할 수 있습니다.

관련 문제