对象导航查询
- 根据id查询某个订单,再查询订单里商品
![这里写图片描述](https://img-blog.csdn.net/20171226203302869?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGlhb3Npbml4aWhlaXhpdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
package com.td.dao
import java.util.Set
import org.hibernate.Session
import org.hibernate.SessionFactory
import org.hibernate.Transaction
import org.junit.Test
import com.td.domain.Goods
import com.td.domain.Order
import com.td.utils.HibernateUtils
public class TestHibernate {
@Test
public void add() {
SessionFactory factory = null
Session session = null
Transaction transaction = null
try {
factory = HibernateUtils.getSessionFatory()
session = factory.openSession()
// 开启事务
transaction = session.beginTransaction()
// 对象导航查询,首先查询到订单,
Order order = session.get(Order.class, 1)
// 再找到订单里的商品
Set<Goods> setGoods = order.getSetGoods()
for (Goods goods : setGoods) {
System.out.println(goods)
}
transaction.commit()
} catch (Exception e) {
// 如果发生异常那么回滚
transaction.rollback()
}finally {
// 释放资源
if(session != null) {
session.close()
}
if(factory != null) {
factory.close()