什么是hibenate的关联路径?

时间:2015-11-17 04:26:30

标签: java hibernate join hibernate-criteria

考虑createAlias方法。文档说:associationPath - A dot-seperated property path。我不明白它是什么?假设有2个表 - Customer (id, name)Ortder (id, customer_id)。假设为Customer实体创建了Criteria - 应该是什么关联路径?

  1. “Customer.id = Order.customer_id”
  2. 或者只是我在某些论坛上看到的“订单”?
  3. 有人可以为几种情况提供几个例子,例如左连接,内连接,当然还有连接子句吗?

1 个答案:

答案 0 :(得分:1)

假设有2个实体(不是表)Customer和Order映射到提到的表。 Class Order有@ManyToOne对Customer的引用。您尝试搜索订单并希望获得名为“Customer1”的客户的所有订单。

Criteria cr=sessioncreateCriteria(Order.class)
        .createAlias("customer", "c", JoinType.INNER_JOIN);

因此,您使用Order实体类的“customer”字段名称,并将其命名为“c”。

然后您可以为别名“c”

添加条件
cr.add(Restrictions.eq("c.name", customerNameParameter);