我有一个包含两列的嵌入式复合键
@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语句?
最佳答案
如果您需要2列来标识MyObject,则仅提供一列不足以每次都查找唯一的结果。 Session
和EntityManager
都不提供您要查找的方法。您必须使用Criteria
或Query
。