44 */
55package org .hibernate .orm .test .associations ;
66
7- import java .io .Serializable ;
8- import java .util .ArrayList ;
9- import java .util .Iterator ;
10- import java .util .List ;
11- import java .util .Objects ;
127import jakarta .persistence .CascadeType ;
138import jakarta .persistence .Column ;
149import jakarta .persistence .Embeddable ;
1914import jakarta .persistence .ManyToOne ;
2015import jakarta .persistence .MapsId ;
2116import jakarta .persistence .OneToMany ;
22-
2317import org .hibernate .annotations .NaturalId ;
24- import org .hibernate .orm .test .jpa .BaseEntityManagerFunctionalTestCase ;
18+ import org .hibernate .testing .orm .junit .EntityManagerFactoryScope ;
19+ import org .hibernate .testing .orm .junit .Jpa ;
20+ import org .junit .jupiter .api .Test ;
2521
26- import org .junit .Test ;
22+ import java .io .Serializable ;
23+ import java .util .ArrayList ;
24+ import java .util .Iterator ;
25+ import java .util .List ;
26+ import java .util .Objects ;
2727
28- import static org .hibernate .testing .transaction .TransactionUtil .doInJPA ;
2928
3029/**
3130 * @author Vlad Mihalcea
3231 */
33- public class BidirectionalTwoOneToManyMapsIdTest extends BaseEntityManagerFunctionalTestCase {
34-
35- @ Override
36- protected Class <?>[] getAnnotatedClasses () {
37- return new Class <?>[] {
38- Person .class ,
39- Address .class ,
40- PersonAddress .class
41- };
42- }
32+ @ Jpa (
33+ annotatedClasses = {
34+ BidirectionalTwoOneToManyMapsIdTest .Person .class ,
35+ BidirectionalTwoOneToManyMapsIdTest .Address .class ,
36+ BidirectionalTwoOneToManyMapsIdTest .PersonAddress .class
37+ }
38+ )
39+ public class BidirectionalTwoOneToManyMapsIdTest {
4340
4441 @ Test
45- public void testLifecycle () {
46- doInJPA ( this :: entityManagerFactory , entityManager -> {
47- Person person1 = new Person ("ABC-123" );
48- Person person2 = new Person ("DEF-456" );
42+ public void testLifecycle (EntityManagerFactoryScope scope ) {
43+ scope . inTransaction ( entityManager -> {
44+ Person person1 = new Person ( "ABC-123" );
45+ Person person2 = new Person ( "DEF-456" );
4946
50- Address address1 = new Address ("12th Avenue" , "12A" , "4005A" );
51- Address address2 = new Address ("18th Avenue" , "18B" , "4007B" );
47+ Address address1 = new Address ( "12th Avenue" , "12A" , "4005A" );
48+ Address address2 = new Address ( "18th Avenue" , "18B" , "4007B" );
5249
53- entityManager .persist (person1 );
54- entityManager .persist (person2 );
50+ entityManager .persist ( person1 );
51+ entityManager .persist ( person2 );
5552
56- entityManager .persist (address1 );
57- entityManager .persist (address2 );
53+ entityManager .persist ( address1 );
54+ entityManager .persist ( address2 );
5855
59- person1 .addAddress (address1 );
60- person1 .addAddress (address2 );
56+ person1 .addAddress ( address1 );
57+ person1 .addAddress ( address2 );
6158
62- person2 .addAddress (address1 );
59+ person2 .addAddress ( address1 );
6360
6461 entityManager .flush ();
6562
66- person1 .removeAddress (address1 );
67- });
63+ person1 .removeAddress ( address1 );
64+ } );
6865 }
6966
7067 @ Entity (name = "Person" )
@@ -96,39 +93,39 @@ public List<PersonAddress> getAddresses() {
9693 }
9794
9895 public void addAddress (Address address ) {
99- PersonAddress personAddress = new PersonAddress (this , address );
100- addresses .add (personAddress );
101- address .getOwners ().add (personAddress );
96+ PersonAddress personAddress = new PersonAddress ( this , address );
97+ addresses .add ( personAddress );
98+ address .getOwners ().add ( personAddress );
10299 }
103100
104101 public void removeAddress (Address address ) {
105- for (Iterator <PersonAddress > iterator = addresses .iterator (); iterator .hasNext ();) {
102+ for ( Iterator <PersonAddress > iterator = addresses .iterator (); iterator .hasNext (); ) {
106103 PersonAddress personAddress = iterator .next ();
107- if ( personAddress .getPerson ().equals (this ) &&
108- personAddress .getAddress ().equals (address ) ) {
104+ if ( personAddress .getPerson ().equals ( this ) &&
105+ personAddress .getAddress ().equals ( address ) ) {
109106 iterator .remove ();
110- personAddress .getAddress ().getOwners ().remove (personAddress );
111- personAddress .setPerson (null );
112- personAddress .setAddress (null );
107+ personAddress .getAddress ().getOwners ().remove ( personAddress );
108+ personAddress .setPerson ( null );
109+ personAddress .setAddress ( null );
113110 }
114111 }
115112 }
116113
117114 @ Override
118115 public boolean equals (Object o ) {
119- if (this == o ) {
116+ if ( this == o ) {
120117 return true ;
121118 }
122- if (o == null || getClass () != o .getClass ()) {
119+ if ( o == null || getClass () != o .getClass () ) {
123120 return false ;
124121 }
125122 Person person = (Person ) o ;
126- return Objects .equals (registrationNumber , person .registrationNumber );
123+ return Objects .equals ( registrationNumber , person .registrationNumber );
127124 }
128125
129126 @ Override
130127 public int hashCode () {
131- return Objects .hash (registrationNumber );
128+ return Objects .hash ( registrationNumber );
132129 }
133130 }
134131
@@ -157,20 +154,20 @@ public Long getAddressId() {
157154
158155 @ Override
159156 public boolean equals (Object o ) {
160- if (this == o ) {
157+ if ( this == o ) {
161158 return true ;
162159 }
163- if (o == null || getClass () != o .getClass ()) {
160+ if ( o == null || getClass () != o .getClass () ) {
164161 return false ;
165162 }
166163 PersonAddressId that = (PersonAddressId ) o ;
167- return Objects .equals (personId , that .personId ) &&
168- Objects .equals (addressId , that .addressId );
164+ return Objects .equals ( personId , that .personId ) &&
165+ Objects .equals ( addressId , that .addressId );
169166 }
170167
171168 @ Override
172169 public int hashCode () {
173- return Objects .hash (personId , addressId );
170+ return Objects .hash ( personId , addressId );
174171 }
175172 }
176173
@@ -194,7 +191,7 @@ public PersonAddress() {
194191 public PersonAddress (Person person , Address address ) {
195192 this .person = person ;
196193 this .address = address ;
197- this .id = new PersonAddressId (person .getId (), address .getId ());
194+ this .id = new PersonAddressId ( person .getId (), address .getId () );
198195 }
199196
200197 public PersonAddressId getId () {
@@ -219,20 +216,20 @@ public void setAddress(Address address) {
219216
220217 @ Override
221218 public boolean equals (Object o ) {
222- if (this == o ) {
219+ if ( this == o ) {
223220 return true ;
224221 }
225- if (o == null || getClass () != o .getClass ()) {
222+ if ( o == null || getClass () != o .getClass () ) {
226223 return false ;
227224 }
228225 PersonAddress that = (PersonAddress ) o ;
229- return Objects .equals (person , that .person ) &&
230- Objects .equals (address , that .address );
226+ return Objects .equals ( person , that .person ) &&
227+ Objects .equals ( address , that .address );
231228 }
232229
233230 @ Override
234231 public int hashCode () {
235- return Objects .hash (person , address );
232+ return Objects .hash ( person , address );
236233 }
237234 }
238235
@@ -284,21 +281,21 @@ public List<PersonAddress> getOwners() {
284281
285282 @ Override
286283 public boolean equals (Object o ) {
287- if (this == o ) {
284+ if ( this == o ) {
288285 return true ;
289286 }
290- if (o == null || getClass () != o .getClass ()) {
287+ if ( o == null || getClass () != o .getClass () ) {
291288 return false ;
292289 }
293290 Address address = (Address ) o ;
294- return Objects .equals (street , address .street ) &&
295- Objects .equals (number , address .number ) &&
296- Objects .equals (postalCode , address .postalCode );
291+ return Objects .equals ( street , address .street ) &&
292+ Objects .equals ( number , address .number ) &&
293+ Objects .equals ( postalCode , address .postalCode );
297294 }
298295
299296 @ Override
300297 public int hashCode () {
301- return Objects .hash (street , number , postalCode );
298+ return Objects .hash ( street , number , postalCode );
302299 }
303300 }
304301
0 commit comments