2
我有一個由兩個列Hibernate 5.x刪除基於部分複合ID的記錄?
@Embeddable
public static class PK implements Serializable {
private static final long serialVersionUID = 4049628068378058196L;
@Column(name="colA", length=32, nullable=false)
private String colA;
@Column(name = "colB", length=32, nullable=false)
private String colB;
//constructors/getters/setters
}
的嵌入式複合鍵有隻使用colB
值如
Serializable id = new String(myColBValue);
Object persistentInstance = session.get(MyObject.class, id);
if (persistentInstance != null) {
session.delete(persistentInstance);
}
什麼辦法可以刪除一個持久化對象還是我不得不求助於使用HQL語句?
好吧,但如何使用hql現在刪除? PK是我實體對象中的一個私有實體。似乎它無法解析列。由於缺乏文檔,Hibernate 5比麻煩更麻煩。 session.createQuery( 「從MyObject來刪除其中PK.colB =:COLB」) \t \t \t \t \t \t \t \t \t .setParameter( 「COLB」, 「foobar的」) \t \t \t \t \t \t \t \t \t .executeUpdate ();在「無法執行語句」錯誤中重試 –