1919import java .util .UUID ;
2020
2121import org .hibernate .annotations .JdbcTypeCode ;
22+ import org .hibernate .testing .orm .junit .DomainModel ;
2223import org .hibernate .testing .orm .junit .FailureExpected ;
23- import org .hibernate .type . SqlTypes ;
24-
24+ import org .hibernate .testing . orm . junit . SessionFactory ;
25+ import org . hibernate . testing . orm . junit . SessionFactoryScope ;
2526import org .hibernate .testing .orm .domain .gambit .EntityOfBasics ;
2627import org .hibernate .testing .orm .domain .gambit .MutableValue ;
27- import org .hibernate .testing .orm .junit .BaseSessionFactoryFunctionalTest ;
2828import org .hibernate .testing .orm .junit .DialectFeatureChecks ;
2929import org .hibernate .testing .orm .junit .RequiresDialectFeature ;
30+ import org .hibernate .type .SqlTypes ;
3031import org .junit .jupiter .api .AfterEach ;
3132import org .junit .jupiter .api .BeforeEach ;
3233import org .junit .jupiter .api .Test ;
3940import static org .junit .jupiter .api .Assertions .assertNull ;
4041
4142@ RequiresDialectFeature (feature = DialectFeatureChecks .SupportsJsonAggregate .class )
42- public class JsonEmbeddableArrayTest extends BaseSessionFactoryFunctionalTest {
43-
44- @ Override
45- protected Class <?>[] getAnnotatedClasses () {
46- return new Class <?>[] {
47- JsonEmbeddableArrayTest .JsonArrayHolder .class
48- };
49- }
43+ @ DomainModel (annotatedClasses = {JsonEmbeddableArrayTest .JsonArrayHolder .class })
44+ @ SessionFactory
45+ public class JsonEmbeddableArrayTest {
5046
5147 @ BeforeEach
52- public void setUp () {
53- inTransaction (
48+ public void setUp (SessionFactoryScope scope ) {
49+ scope . inTransaction (
5450 session -> {
5551 session .persist ( new JsonArrayHolder ( 1L , EmbeddableAggregate .createAggregateArray1 () ));
5652 session .persist ( new JsonArrayHolder ( 2L , EmbeddableAggregate .createAggregateArray2 () ));
@@ -59,30 +55,30 @@ public void setUp() {
5955 }
6056
6157 @ AfterEach
62- protected void cleanupTest () {
63- sessionFactoryScope (). getSessionFactory (). getSchemaManager (). truncate ();
58+ protected void cleanupTest (SessionFactoryScope scope ) {
59+ scope . dropData ();
6460 }
6561
6662 @ Test
67- public void testUpdate () {
68- sessionFactoryScope () .inTransaction (
69- entityManager -> {
70- JsonArrayHolder jsonArrayHolder = entityManager .find ( JsonArrayHolder .class , 1L );
63+ public void testUpdate (SessionFactoryScope scope ) {
64+ scope .inTransaction (
65+ session -> {
66+ JsonArrayHolder jsonArrayHolder = session .find ( JsonArrayHolder .class , 1L );
7167 jsonArrayHolder .setAggregateArray ( EmbeddableAggregate .createAggregateArray2 () );
72- entityManager .flush ();
73- entityManager .clear ();
68+ session .flush ();
69+ session .clear ();
7470 EmbeddableAggregate .assertArraysEquals (
7571 EmbeddableAggregate .createAggregateArray2 (),
76- entityManager .find ( JsonArrayHolder .class , 1L ).getAggregateArray () );
72+ session .find ( JsonArrayHolder .class , 1L ).getAggregateArray () );
7773 }
7874 );
7975 }
8076
8177 @ Test
82- public void testFetch () {
83- sessionFactoryScope () .inSession (
84- entityManager -> {
85- List <JsonArrayHolder > jsonArrayHolders = entityManager .createQuery ( "from JsonArrayHolder b where b.id = 1" , JsonArrayHolder .class ).getResultList ();
78+ public void testFetch (SessionFactoryScope scope ) {
79+ scope .inSession (
80+ session -> {
81+ List <JsonArrayHolder > jsonArrayHolders = session .createQuery ( "from JsonArrayHolder b where b.id = 1" , JsonArrayHolder .class ).getResultList ();
8682 assertEquals ( 1 , jsonArrayHolders .size () );
8783 assertEquals ( 1L , jsonArrayHolders .get ( 0 ).getId () );
8884 EmbeddableAggregate .assertArraysEquals ( EmbeddableAggregate .createAggregateArray1 (), jsonArrayHolders .get ( 0 ).getAggregateArray () );
@@ -91,10 +87,10 @@ public void testFetch() {
9187 }
9288
9389 @ Test
94- public void testFetchNull () {
95- sessionFactoryScope () .inSession (
96- entityManager -> {
97- List <JsonArrayHolder > jsonArrayHolders = entityManager .createQuery ( "from JsonArrayHolder b where b.id = 2" , JsonArrayHolder .class ).getResultList ();
90+ public void testFetchNull (SessionFactoryScope scope ) {
91+ scope .inSession (
92+ session -> {
93+ List <JsonArrayHolder > jsonArrayHolders = session .createQuery ( "from JsonArrayHolder b where b.id = 2" , JsonArrayHolder .class ).getResultList ();
9894 assertEquals ( 1 , jsonArrayHolders .size () );
9995 assertEquals ( 2L , jsonArrayHolders .get ( 0 ).getId () );
10096 EmbeddableAggregate .assertEquals ( EmbeddableAggregate .createAggregateArray2 ()[0 ], jsonArrayHolders .get ( 0 ).getAggregateArray ()[0 ] );
@@ -103,10 +99,10 @@ public void testFetchNull() {
10399 }
104100
105101 @ Test
106- public void testDomainResult () {
107- sessionFactoryScope () .inSession (
108- entityManager -> {
109- List <EmbeddableAggregate []> structs = entityManager .createQuery ( "select b.aggregateArray from JsonArrayHolder b where b.id = 1" , EmbeddableAggregate [].class ).getResultList ();
102+ public void testDomainResult (SessionFactoryScope scope ) {
103+ scope .inSession (
104+ session -> {
105+ List <EmbeddableAggregate []> structs = session .createQuery ( "select b.aggregateArray from JsonArrayHolder b where b.id = 1" , EmbeddableAggregate [].class ).getResultList ();
110106 assertEquals ( 1 , structs .size () );
111107 EmbeddableAggregate .assertArraysEquals ( EmbeddableAggregate .createAggregateArray1 (), structs .get ( 0 ) );
112108 }
@@ -115,10 +111,10 @@ public void testDomainResult() {
115111
116112 @ Test
117113 @ FailureExpected (jiraKey = "HHH-18717" , reason = "Requires array functions to work with JSON_ARRAY" )
118- public void testSelectionItems () {
119- sessionFactoryScope () .inSession (
120- entityManager -> {
121- List <Tuple > tuples = entityManager .createQuery (
114+ public void testSelectionItems (SessionFactoryScope scope ) {
115+ scope .inSession (
116+ session -> {
117+ List <Tuple > tuples = session .createQuery (
122118 "select " +
123119 "b.aggregateArray[0].theInt," +
124120 "b.aggregateArray[0].theDouble," +
@@ -182,60 +178,60 @@ public void testSelectionItems() {
182178 }
183179
184180 @ Test
185- public void testDeleteWhere () {
186- sessionFactoryScope () .inTransaction (
187- entityManager -> {
188- entityManager .createMutationQuery ( "delete JsonArrayHolder b where b.aggregateArray is not null" ).executeUpdate ();
189- assertNull ( entityManager .find ( JsonArrayHolder .class , 1L ) );
181+ public void testDeleteWhere (SessionFactoryScope scope ) {
182+ scope .inTransaction (
183+ session -> {
184+ session .createMutationQuery ( "delete JsonArrayHolder b where b.aggregateArray is not null" ).executeUpdate ();
185+ assertNull ( session .find ( JsonArrayHolder .class , 1L ) );
190186
191187 }
192188 );
193189 }
194190
195191 @ Test
196- public void testUpdateAggregate () {
197- sessionFactoryScope () .inTransaction (
198- entityManager -> {
199- entityManager .createMutationQuery ( "update JsonArrayHolder b set b.aggregateArray = null" ).executeUpdate ();
200- assertNull ( entityManager .find ( JsonArrayHolder .class , 1L ).getAggregateArray () );
192+ public void testUpdateAggregate (SessionFactoryScope scope ) {
193+ scope .inTransaction (
194+ session -> {
195+ session .createMutationQuery ( "update JsonArrayHolder b set b.aggregateArray = null" ).executeUpdate ();
196+ assertNull ( session .find ( JsonArrayHolder .class , 1L ).getAggregateArray () );
201197 }
202198 );
203199 }
204200
205201 @ Test
206202 @ FailureExpected (jiraKey = "HHH-18717" , reason = "Requires array functions to work with JSON_ARRAY" )
207- public void testUpdateAggregateMember () {
208- sessionFactoryScope () .inTransaction (
209- entityManager -> {
210- entityManager .createMutationQuery ( "update JsonArrayHolder b set b.aggregateArray[0].theString = null where b.id = 1" ).executeUpdate ();
203+ public void testUpdateAggregateMember (SessionFactoryScope scope ) {
204+ scope .inTransaction (
205+ session -> {
206+ session .createMutationQuery ( "update JsonArrayHolder b set b.aggregateArray[0].theString = null where b.id = 1" ).executeUpdate ();
211207 EmbeddableAggregate [] struct = EmbeddableAggregate .createAggregateArray1 ();
212208 struct [0 ].setTheString ( null );
213- EmbeddableAggregate .assertArraysEquals ( struct , entityManager .find ( JsonArrayHolder .class , 1L ).getAggregateArray () );
209+ EmbeddableAggregate .assertArraysEquals ( struct , session .find ( JsonArrayHolder .class , 1L ).getAggregateArray () );
214210 }
215211 );
216212 }
217213
218214 @ Test
219215 @ FailureExpected (jiraKey = "HHH-18717" , reason = "Requires array functions to work with JSON_ARRAY" )
220- public void testUpdateMultipleAggregateMembers () {
221- sessionFactoryScope () .inTransaction (
222- entityManager -> {
223- entityManager .createMutationQuery ( "update JsonArrayHolder b set b.aggregateArray.theString = null, b.aggregateArray[0].theUuid = null" ).executeUpdate ();
216+ public void testUpdateMultipleAggregateMembers (SessionFactoryScope scope ) {
217+ scope .inTransaction (
218+ session -> {
219+ session .createMutationQuery ( "update JsonArrayHolder b set b.aggregateArray.theString = null, b.aggregateArray[0].theUuid = null" ).executeUpdate ();
224220 EmbeddableAggregate [] struct = EmbeddableAggregate .createAggregateArray1 ();
225221 struct [0 ].setTheString ( null );
226222 struct [0 ].setTheUuid ( null );
227- EmbeddableAggregate .assertArraysEquals ( struct , entityManager .find ( JsonArrayHolder .class , 1L ).getAggregateArray () );
223+ EmbeddableAggregate .assertArraysEquals ( struct , session .find ( JsonArrayHolder .class , 1L ).getAggregateArray () );
228224 }
229225 );
230226 }
231227
232228 @ Test
233229 @ FailureExpected (jiraKey = "HHH-18717" , reason = "Requires array functions to work with JSON_ARRAY" )
234- public void testUpdateAllAggregateMembers () {
235- sessionFactoryScope () .inTransaction (
236- entityManager -> {
230+ public void testUpdateAllAggregateMembers (SessionFactoryScope scope ) {
231+ scope .inTransaction (
232+ session -> {
237233 EmbeddableAggregate [] struct = EmbeddableAggregate .createAggregateArray1 ();
238- entityManager .createMutationQuery (
234+ session .createMutationQuery (
239235 "update JsonArrayHolder b set " +
240236 "b.aggregateArray[0].theInt = :theInt," +
241237 "b.aggregateArray[0].theDouble = :theDouble," +
@@ -290,7 +286,7 @@ public void testUpdateAllAggregateMembers() {
290286 .setParameter ( "theOffsetDateTime" , struct [0 ].getTheOffsetDateTime () )
291287 .setParameter ( "mutableValue" , struct [0 ].getMutableValue () )
292288 .executeUpdate ();
293- EmbeddableAggregate .assertArraysEquals ( EmbeddableAggregate .createAggregateArray1 (), entityManager .find ( JsonArrayHolder .class , 2L ).getAggregateArray () );
289+ EmbeddableAggregate .assertArraysEquals ( EmbeddableAggregate .createAggregateArray1 (), session .find ( JsonArrayHolder .class , 2L ).getAggregateArray () );
294290 }
295291 );
296292 }
0 commit comments