java hibernate 条件,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 records = criteria.list();

for (Record record : records) {

System.out.println("Recording  = "

+ record.getTitle());

System.out.println("Artist     = "

+ record.getArtist().getName());

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值