Skip to content

Commit 07f4098

Browse files
committed
Various code cleanup
1 parent b4a45c3 commit 07f4098

File tree

6 files changed

+110
-76
lines changed

6 files changed

+110
-76
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/loader/LoaderTest.java

Lines changed: 44 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -4,87 +4,65 @@
44
*/
55
package org.hibernate.orm.test.annotations.loader;
66

7-
import static org.junit.Assert.assertEquals;
8-
import static org.junit.Assert.fail;
7+
import org.hibernate.ObjectNotFoundException;
8+
import org.hibernate.testing.orm.junit.DomainModel;
9+
import org.hibernate.testing.orm.junit.SessionFactory;
10+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
11+
import org.junit.jupiter.api.AfterEach;
12+
import org.junit.jupiter.api.Test;
913

1014
import java.util.Iterator;
1115
import java.util.Set;
1216

13-
import org.hibernate.ObjectNotFoundException;
14-
import org.hibernate.Session;
15-
import org.hibernate.Transaction;
16-
import org.hibernate.resource.transaction.spi.TransactionStatus;
17-
18-
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
19-
import org.junit.Test;
17+
import static org.assertj.core.api.Assertions.assertThat;
18+
import static org.junit.jupiter.api.Assertions.*;
2019

2120
/**
2221
* @author Emmanuel Bernard
2322
*/
24-
public class LoaderTest extends BaseCoreFunctionalTestCase {
25-
26-
@Override
27-
protected Class[] getAnnotatedClasses() {
28-
return new Class[]{
29-
Player.class,
30-
Team.class
31-
};
32-
}
33-
23+
@SuppressWarnings("JUnitMalformedDeclaration")
24+
@DomainModel( annotatedClasses = { Player.class, Team.class } )
25+
@SessionFactory
26+
public class LoaderTest {
3427
@Test
35-
public void testBasic() throws Exception {
28+
public void testBasic(SessionFactoryScope sessions) throws Exception {
3629
// set up data...
37-
Session s = openSession( );
38-
Transaction tx = s.beginTransaction();
39-
Team t = new Team();
40-
Player p = new Player();
41-
p.setName( "me" );
42-
t.getPlayers().add( p );
43-
p.setTeam( t );
44-
s.persist(p);
45-
s.persist( t );
46-
tx.commit();
47-
s.close();
48-
49-
s = openSession();
50-
tx = s.beginTransaction();
51-
Team t2 = s.getReference( Team.class, t.getId() );
52-
Set<Player> players = t2.getPlayers();
53-
Iterator<Player> iterator = players.iterator();
54-
assertEquals( "me", iterator.next().getName() );
55-
tx.commit();
56-
s.close();
30+
sessions.inTransaction( (session) -> {
31+
Team t = new Team( 1L );
32+
Player p = new Player( 1L, "me" );
33+
t.addPlayer( p );
34+
session.persist( p );
35+
session.persist( t );
36+
} );
5737

58-
// clean up data
59-
s = openSession();
60-
tx = s.beginTransaction();
61-
t = s.get( Team.class, t2.getId() );
62-
p = s.get( Player.class, p.getId() );
63-
s.remove( p );
64-
s.remove( t );
65-
tx.commit();
66-
s.close();
38+
// test
39+
sessions.inTransaction( (session) -> {
40+
Team t2 = session.getReference( Team.class, 1 );
41+
Set<Player> players = t2.getPlayers();
42+
Iterator<Player> iterator = players.iterator();
43+
assertThat( iterator.next().getName() ).isEqualTo( "me" );
44+
} );
6745
}
6846

6947
@Test
70-
public void testGetNotExisting() {
71-
Session s = openSession();
72-
s.beginTransaction();
48+
public void testGetNotExisting(SessionFactoryScope sessions) {
49+
sessions.inTransaction( (session) -> {
50+
final Team reference = session.getReference( Team.class, 1 );
51+
assertThat( reference ).isNotNull();
7352

74-
try {
75-
long notExistingId = 1l;
76-
s.getReference( Team.class, notExistingId );
77-
s.get( Team.class, notExistingId );
78-
s.getTransaction().commit();
79-
}
80-
catch (ObjectNotFoundException e) {
81-
if ( s.getTransaction().getStatus() == TransactionStatus.ACTIVE ) {
82-
s.getTransaction().rollback();
53+
// now try a find which should return us a null
54+
try {
55+
final Team found = session.find( Team.class, 1 );
56+
assertThat( found ).isNull();
57+
}
58+
catch (ObjectNotFoundException unexpected) {
59+
fail( "#find threw an ObjectNotFoundException" );
8360
}
84-
fail("#get threw an ObjectNotFoundExcepton");
85-
}
86-
finally {
87-
s.close();
88-
}
61+
} );
62+
}
63+
64+
@AfterEach
65+
public void dropTestData(SessionFactoryScope sessions) {
66+
sessions.dropData();
8967
}
9068
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/loader/Player.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package org.hibernate.orm.test.annotations.loader;
66
import jakarta.persistence.Entity;
7-
import jakarta.persistence.GeneratedValue;
87
import jakarta.persistence.Id;
98
import jakarta.persistence.JoinColumn;
109
import jakarta.persistence.ManyToOne;
@@ -14,13 +13,33 @@
1413

1514
@Entity
1615
public class Player {
17-
1816
private Long id;
19-
private Team team;
2017
private String name;
18+
private Team team;
19+
20+
public Player() {
21+
}
22+
23+
public Player(Long id) {
24+
this( id, "Player #" + id );
25+
}
26+
27+
public Player(Long id, String name) {
28+
this.id = id;
29+
this.name = name;
30+
}
31+
32+
public Player(Long id, Team team) {
33+
this( id, "Player #" + id, team );
34+
}
35+
36+
public Player(Long id, String name, Team team) {
37+
this.id = id;
38+
this.name = name;
39+
this.team = team;
40+
}
2141

2242
@Id
23-
@GeneratedValue
2443
public Long getId() {
2544
return id;
2645
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/loader/Team.java

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,39 @@
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
55
package org.hibernate.orm.test.annotations.loader;
6-
import java.util.HashSet;
7-
import java.util.Set;
6+
87
import jakarta.persistence.Entity;
98
import jakarta.persistence.EntityResult;
109
import jakarta.persistence.FetchType;
11-
import jakarta.persistence.GeneratedValue;
1210
import jakarta.persistence.Id;
1311
import jakarta.persistence.OneToMany;
14-
1512
import jakarta.persistence.SqlResultSetMapping;
1613
import org.hibernate.annotations.Fetch;
1714
import org.hibernate.annotations.FetchMode;
1815
import org.hibernate.annotations.SQLSelect;
1916

17+
import java.util.HashSet;
18+
import java.util.Set;
19+
2020
@Entity
2121
public class Team {
2222
private Long id;
23-
private Set<Player> players = new HashSet<Player>();
23+
private String name;
24+
private Set<Player> players = new HashSet<>();
25+
26+
public Team() {
27+
}
28+
29+
public Team(Long id) {
30+
this( id, "Team #" + id );
31+
}
32+
33+
public Team(Long id, String name) {
34+
this.id = id;
35+
this.name = name;
36+
}
2437

2538
@Id
26-
@GeneratedValue
2739
public Long getId() {
2840
return id;
2941
}
@@ -32,6 +44,14 @@ public void setId(Long id) {
3244
this.id = id;
3345
}
3446

47+
public String getName() {
48+
return name;
49+
}
50+
51+
public void setName(String name) {
52+
this.name = name;
53+
}
54+
3555
@OneToMany(targetEntity = Player.class, mappedBy = "team", fetch = FetchType.EAGER)
3656
@Fetch(FetchMode.SELECT)
3757
@SQLSelect(sql = "select * from Player where team_id = ?1",
@@ -44,4 +64,9 @@ public Set<Player> getPlayers() {
4464
public void setPlayers(Set<Player> players) {
4565
this.players = players;
4666
}
67+
68+
public void addPlayer(Player p) {
69+
players.add( p );
70+
p.setTeam( this );
71+
}
4772
}

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/converted/converter/elementCollection/CollectionElementConversionTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
/**
3131
* @author Steve Ebersole
3232
*/
33+
@SuppressWarnings("JUnitMalformedDeclaration")
3334
@JiraKey(value = "HHH-8529")
3435
@DomainModel( annotatedClasses = { CollectionElementConversionTest.Customer.class, CollectionElementConversionTest.ColorConverter.class } )
3536
@SessionFactory

hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/SessionFactoryExtension.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,5 +409,14 @@ public void inStatelessTransaction(StatelessSession session, Consumer<StatelessS
409409

410410
TransactionUtil.inTransaction( session, action );
411411
}
412+
413+
@Override
414+
public void dropData() {
415+
if ( sessionFactory == null ) {
416+
return;
417+
}
418+
419+
sessionFactory.getSchemaManager().truncateMappedObjects();
420+
}
412421
}
413422
}

hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/SessionFactoryScope.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,6 @@ default void withSessionFactory(Consumer<SessionFactoryImplementor> action) {
4040
void inStatelessSession(Consumer<StatelessSession> action);
4141
void inStatelessTransaction(Consumer<StatelessSession> action);
4242
void inStatelessTransaction(StatelessSession session, Consumer<StatelessSession> action);
43+
44+
void dropData();
4345
}

0 commit comments

Comments
 (0)