如何在hibernate中编写POJO,连接超过2个表

时间:2015-10-30 18:28:55

标签: java spring hibernate hibernate-criteria

我是hibernate的新手,尝试使用hql从2个以上的表中获取信息,如果我们提取我们需要放入POJO的信息,那么如何为每个列映射到我们从中得到的信息查询?

尝试使用@secondarytable()和@Table,但它不能允许超过1个辅助表注释。

那么我们不能在hibernate中加入超过2个表吗?

1 个答案:

答案 0 :(得分:1)

您可能希望使用@OneToMany@ManyToOne和/或@ManyToMany注释来映射项目中所有实体之间的关系。

这些的oracle文档有一些很好的例子,比如这个:

示例1:使用泛型的一对多关联

在客户类中:

@OneToMany(cascade=ALL, mappedBy="customer")
public Set<Order> getOrders() { return orders; }

在订单类:

@ManyToOne
@JoinColumn(name="CUST_ID", nullable=false)
public Customer getCustomer() { return customer; }

在此示例中,CustomerOrder都是使用@Entity@Table注释的类,对应CUSTOMERORDER个表在您的数据库中。这些表中的任何其他列也将映射到相应的实体类中。 @OneToMany@ManyToOne@ManyToMany用于映射表之间的外键,并允许您直接从实体实例直接引用父/子行/对象。

使用这些注释,您可以根据需要将任意外键引用映射到其他表。