Skip to content

Commit 5ff27be

Browse files
committed
Various code cleanup
1 parent 2061d6e commit 5ff27be

File tree

2 files changed

+68
-199
lines changed

2 files changed

+68
-199
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/*
2+
* SPDX-License-Identifier: LGPL-2.1-or-later
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.entitygraph;
6+
7+
import jakarta.persistence.criteria.CriteriaBuilder;
8+
import jakarta.persistence.criteria.CriteriaQuery;
9+
import org.hibernate.graph.GraphParser;
10+
import org.hibernate.graph.GraphSemantic;
11+
import org.hibernate.graph.RootGraph;
12+
import org.hibernate.testing.jdbc.SQLStatementInspector;
13+
import org.hibernate.testing.orm.domain.StandardDomainModel;
14+
import org.hibernate.testing.orm.domain.library.Book;
15+
import org.hibernate.testing.orm.junit.DomainModel;
16+
import org.hibernate.testing.orm.junit.JiraKey;
17+
import org.hibernate.testing.orm.junit.SessionFactory;
18+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
19+
import org.junit.jupiter.api.Test;
20+
21+
import static org.assertj.core.api.Assertions.assertThat;
22+
23+
24+
@JiraKey(value = "HHH-10485")
25+
@DomainModel( standardModels = StandardDomainModel.LIBRARY )
26+
@SessionFactory(useCollectingStatementInspector = true)
27+
@SuppressWarnings("JUnitMalformedDeclaration")
28+
public class EntityGraphFetchingTest {
29+
30+
@Test
31+
void testWithoutEntityGraph(SessionFactoryScope scope) {
32+
final SQLStatementInspector sqlCollector = scope.getCollectingStatementInspector();
33+
sqlCollector.clear();
34+
35+
scope.inTransaction( (session) -> {
36+
final CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
37+
final CriteriaQuery<Book> criteriaQuery = criteriaBuilder.createQuery( Book.class );
38+
criteriaQuery.from( Book.class );
39+
40+
session.createQuery( criteriaQuery ).getResultList();
41+
42+
assertThat( sqlCollector.getSqlQueries() ).hasSize( 1 );
43+
assertThat( sqlCollector.getSqlQueries().get( 0 ) ).doesNotContain( " join " );
44+
} );
45+
}
46+
47+
@Test
48+
@JiraKey(value = "HHH-10485")
49+
void testWithEntityGraph(SessionFactoryScope scope) {
50+
SQLStatementInspector sqlCollector = scope.getCollectingStatementInspector();
51+
sqlCollector.clear();
52+
53+
scope.inTransaction( (session) -> {
54+
final RootGraph<Book> fetchGraph = GraphParser.parse( Book.class, "authors", session );
55+
56+
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
57+
CriteriaQuery<Book> criteriaQuery = criteriaBuilder.createQuery( Book.class );
58+
criteriaQuery.from( Book.class );
59+
60+
session.createQuery( criteriaQuery )
61+
.setHint( GraphSemantic.FETCH.getJakartaHintName(), fetchGraph )
62+
.getResultList();
63+
64+
assertThat( sqlCollector.getSqlQueries() ).hasSize( 1 );
65+
assertThat( sqlCollector.getSqlQueries().get( 0 ) ).contains( " join " );
66+
} );
67+
}
68+
}

Diff for: hibernate-core/src/test/java/org/hibernate/orm/test/entitygraph/EntityGraphWithFetchAnnotationTest.java

-199
This file was deleted.

0 commit comments

Comments
 (0)