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 ();在“无法执行语句”错误中重试 –