package org.hibernate.test.bytecode.enhancement.join;
import java.util.List;
import org.hibernate.FetchMode;
import org.hibernate.Session;
import org.junit.Assert;
public class HHH3949TestTask3 extends AbstractHHH3949TestTask {
@SuppressWarnings("unchecked")
public void execute() {
Session session = getFactory().openSession();
session.getTransaction().begin();
List<Person> persons = (List<Person>) session.createCriteria( Person.class )
.setFetchMode( "vehicle", FetchMode.JOIN )
.list();
for ( Person person : persons ) {
if ( shouldHaveVehicle( person ) ) {
Assert.assertNotNull( person.getVehicle() );
Assert.assertNotNull( person.getVehicle().getDriver() );
}
}
session.getTransaction().commit();
session.close();
}
}