Skip to content

Commit b59dc69

Browse files
committed
HHH-19846 - Remove JUnit4: org.hibernate.orm.test.jpa.jointable
Signed-off-by: Jan Schatteman <[email protected]>
1 parent 6a6f370 commit b59dc69

File tree

1 file changed

+16
-20
lines changed

1 file changed

+16
-20
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/jpa/jointable/ManyToOneJoinTableTest.java

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,22 @@
44
*/
55
package org.hibernate.orm.test.jpa.jointable;
66

7-
import java.util.LinkedList;
7+
import java.util.List;
88

9-
import org.hibernate.boot.SessionFactoryBuilder;
10-
import org.hibernate.boot.spi.MetadataImplementor;
119
import org.hibernate.cfg.AvailableSettings;
12-
import org.hibernate.engine.spi.SessionFactoryImplementor;
1310

14-
import org.hibernate.testing.jdbc.SQLStatementInterceptor;
11+
import org.hibernate.testing.jdbc.SQLStatementInspector;
1512
import org.hibernate.testing.orm.junit.DomainModel;
1613
import org.hibernate.testing.orm.junit.ServiceRegistry;
1714
import org.hibernate.testing.orm.junit.SessionFactory;
18-
import org.hibernate.testing.orm.junit.SessionFactoryProducer;
1915
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2016
import org.hibernate.testing.orm.junit.Setting;
17+
import org.junit.jupiter.api.BeforeEach;
2118
import org.junit.jupiter.api.Test;
2219

2320
import static org.hamcrest.CoreMatchers.is;
24-
import static org.junit.Assert.assertFalse;
25-
import static org.junit.Assert.assertThat;
21+
import static org.hamcrest.MatcherAssert.assertThat;
22+
import static org.junit.jupiter.api.Assertions.assertFalse;
2623

2724
/**
2825
* @author Christian Beikov
@@ -38,32 +35,31 @@
3835
@Setting(name = AvailableSettings.JAKARTA_HBM2DDL_DATABASE_ACTION, value = "create-drop")
3936
}
4037
)
41-
@SessionFactory
42-
public class ManyToOneJoinTableTest implements SessionFactoryProducer {
43-
private SQLStatementInterceptor sqlStatementInterceptor;
38+
@SessionFactory(useCollectingStatementInspector = true)
39+
public class ManyToOneJoinTableTest {
40+
private SQLStatementInspector sqlStatementInspector;
4441

45-
@Override
46-
public SessionFactoryImplementor produceSessionFactory(MetadataImplementor model) {
47-
final SessionFactoryBuilder sessionFactoryBuilder = model.getSessionFactoryBuilder();
48-
sqlStatementInterceptor = new SQLStatementInterceptor( sessionFactoryBuilder );
49-
return (SessionFactoryImplementor) sessionFactoryBuilder.build();
42+
@BeforeEach
43+
public void setup(SessionFactoryScope scope) {
44+
sqlStatementInspector = scope.getCollectingStatementInspector();
45+
sqlStatementInspector.clear();
5046
}
5147

5248
@Test
5349
public void testAvoidJoin(SessionFactoryScope scope) {
5450
final String queryString = "SELECT e.id FROM Person e";
5551
scope.inTransaction(
5652
session -> {
57-
final LinkedList<String> sqlQueries = sqlStatementInterceptor.getSqlQueries();
53+
final List<String> sqlQueries = sqlStatementInspector.getSqlQueries();
5854
sqlQueries.clear();
5955
session.createQuery( queryString ).list();
6056
assertThat( sqlQueries.size(), is( 1 ) );
6157
// Ideally, we could detect that *ToOne join tables aren't used, but that requires tracking the uses of properties
6258
// Since *ToOne join tables are treated like secondary or subclass/superclass tables, the proper fix will allow many more optimizations
63-
String generatedSQl = sqlQueries.getFirst();
59+
String generatedSQl = sqlQueries.get( 0 );
6460
assertFalse(
65-
"The generated sql contains a useless join: " + generatedSQl,
66-
generatedSQl.contains( "join" )
61+
generatedSQl.contains( "join" ),
62+
"The generated sql contains a useless join: " + generatedSQl
6763
);
6864
}
6965
);

0 commit comments

Comments
 (0)