【问题标题】:What is the association path in hibernate?hibernate中的关联路径是什么?
【发布时间】:2015-11-17 04:26:30
【问题描述】:
考虑createAlias 方法。文档说:associationPath - A dot-seperated property path。我不明白它是什么?假设有 2 个表 - Customer (id, name) 和 Ortder (id, customer_id)。假设为 Customer 实体创建了 Criteria - 应该是什么关联路径?
- “Customer.id = Order.customer_id”
- 或者只是像我在某些论坛上看到的那样“订购”?
谁能提供几种情况的例子,比如左连接、内连接,当然还有用子句连接?
【问题讨论】:
标签:
java
hibernate
join
hibernate-criteria
【解决方案1】:
假设有 2 个实体(不是表)客户和订单映射到上述表。类 Order 具有对 Customer 的 @ManyToOne 引用。您尝试搜索 Orders 并希望获取名为“Customer1”的客户的所有订单。
Criteria cr=sessioncreateCriteria(Order.class)
.createAlias("customer", "c", JoinType.INNER_JOIN);
因此,您使用 Order 实体类的“customer”字段名称,并将其命名为“c”的别名。
然后你可以为别名“c”添加你的条件
cr.add(Restrictions.eq("c.name", customerNameParameter);