Java hibernate如何设置“条件”关联的提取模式?
要设置关联的提取模式,我们可以调用Criteria的setFetchMode()方法。我们可以使用FetchMode.SELECT或FetchMode.JOIN。
package org.nhooo.example.hibernate.criteria;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Restrictions;
import org.nhooo.example.hibernate.model.Record;
import java.util.List;
public class FetchModeDemo {
public static Session getSession() throws HibernateException {
String cfg = "hibernate.cfg.xml";
SessionFactory sessionFactory = new Configuration().configure(cfg)
.buildSessionFactory();
return sessionFactory.openSession();
}
@SuppressWarnings("unchecked")
public static void main(String[] args) {
try (Session session = getSession()) {
Criteria criteria = session.createCriteria(Record.class)
.setFetchMode("artist", FetchMode.SELECT)
.setFetchMode("label", FetchMode.SELECT)
.add(Restrictions.eq("title", "Please Please Me"));
List<Record> records = criteria.list();
for (Record record : records) {
System.out.println("Recording = "
+ record.getTitle());
System.out.println("Artist = "
+ record.getArtist().getName());
}
}
}
}
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西