[英]Hibernate criteria. Select by alias
我有桌子
@Entity
@Table(name="cash")
public class CashItem extends Item {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "cash_seq_gen")
@SequenceGenerator(name = "cash_seq_gen", sequenceName = "cash_seq")
private Long id;
@Column(name="object_id")
private Long objectId = 1l;
@Column(name="object_type")
private Long objectType = 1l;
和鏈接表
@Entity
@Table(name="cash_to_order")
@SuppressWarnings("serial")
public class CashToOrderItem extends Item {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "cash_to_order_seq_gen")
@SequenceGenerator(name = "cash_to_order_seq_gen", sequenceName = "cash_to_order_seq")
Long id;
@ManyToOne
@JoinColumn(name="order_id",referencedColumnName="id")
private OrderItem order;
@ManyToOne
@JoinColumn(name="cash_id",referencedColumnName="id")
private CashItem cash;
我從CashToOrderItem獲取條件,並想進行下一個查詢
criteria.createAlias("cash","c1");
criteria.add(Restrictions.eq("c1.objectType",ocf.getCounterparty()));
criteria.add(Restrictions.eq("с1.objectId",ocf.getSubCounterparty()));
但是發生了錯誤, 導致無法解析的屬性:如果我添加了兩個或更多限制, 則為CashToOrderItem的с1 。
如果您要在CashToOrder上創建條件,請聯系該類別的現金以獲取別名。 即CashToOrder.cash
Criteria criteria = session.createCriteria(CashToOrderItem.class, "cashToOrder");
criteria.createAlias("cashToOrder.cash","c1");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.