【发布时间】:2012-03-18 04:08:27
【问题描述】:
我正在尝试使用 @embeddable 执行复合键查询。
这是我到目前为止所拥有的。
@Embeddable
public class IfasvVendorPK implements Serializable{
@Column(length = 4, nullable = false)
protected String peId;
@Column(length = 8, nullable = false)
protected String peAddrCd;
实体
@Entity
public class IfasvVendor implements Serializable {
@EmbeddedId
private IfasvVendorPK ifasvVendorPK;
查询
列表包含两个 pk。不确定我是否应该为此使用列表。
Query query = session.createQuery("from IfasvVendor t0 where t0.ifasvVendorPK.peId=:id");
query.setParameter("id", list);
query.list();
我也不确定一旦我的查询工作如何获取对象。
【问题讨论】:
-
这不是复合键查询,您是通过复合键中的属性进行搜索。请确认这是您要完成的任务。无论如何,假设您要传递属性列表,您当前的查询是不正确的。改用这个 -
from IfasvVendor t0 where t0.ifasvVendorPK.peId in :idList和query.setParameter("idList", list)。
标签: java mysql hibernate postgresql