Hibernate Criteria多表查询

时间:2024-04-02 16:33:16
Hibernate Criteria多表查询

Hibernate有多种查询方式,如果想要多表查询,有3种方法

1.HQL查询(写连接语句)

2.Native SQL(手写原生SQL语句)

3.Criteria查询

本次内容就是介绍Criteria的多表查询

这是我需要持久化的对象的字段图,我这里列举的是一个双向1对多

Hibernate Criteria多表查询Hibernate Criteria多表查询

这里是我生成的表结构

Hibernate Criteria多表查询

然后以下是我的部分代码:

Session session = sc.getCurrentSession();
Transaction transaction = session.beginTransaction();
Criteria criteria =  session.createCriteria(Pass.class);
criteria = criteria.createAlias("user", "u");
criteria = criteria.add(Property.forName("u.id").eq(101));
List<Pass> list = criteria.list();
System.out.println(list);
transaction.commit();

最后输出的SQL语句:

Hibernate Criteria多表查询

Hibernate有多种查询方式,如果想要多表查询,有3种方法

1.HQL查询(写连接语句)

2.Native SQL(手写原生SQL语句)

3.Criteria查询

本次内容就是介绍Criteria的多表查询

这是我需要持久化的对象的字段图,我这里列举的是一个双向1对多

Hibernate Criteria多表查询Hibernate Criteria多表查询

这里是我生成的表结构

Hibernate Criteria多表查询

然后以下是我的部分代码:

Session session = sc.getCurrentSession();
Transaction transaction = session.beginTransaction();
Criteria criteria =  session.createCriteria(Pass.class);
criteria = criteria.createAlias("user", "u");
criteria = criteria.add(Property.forName("u.id").eq(101));
List<Pass> list = criteria.list();
System.out.println(list);
transaction.commit();

最后输出的SQL语句:

Hibernate Criteria多表查询