Skip to content

Commit 7c272dd

Browse files
committed
HHH-19681 - Add test for issue
Signed-off-by: Jan Schatteman <[email protected]>
1 parent d50e3f9 commit 7c272dd

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/function/array/ArrayAggregateTest.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
/*
2-
* Hibernate, Relational Persistence for Idiomatic Java
3-
*
4-
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
5-
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
64
*/
75
package org.hibernate.orm.test.function.array;
86

7+
import java.util.Arrays;
98
import java.util.List;
109

1110
import org.hibernate.boot.ResourceStreamLocator;
@@ -14,12 +13,14 @@
1413
import org.hibernate.boot.spi.InFlightMetadataCollector;
1514
import org.hibernate.boot.spi.MetadataBuildingContext;
1615
import org.hibernate.dialect.OracleArrayJdbcType;
16+
import org.hibernate.dialect.PostgreSQLDialect;
1717
import org.hibernate.dialect.OracleDialect;
1818
import org.hibernate.dialect.SpannerDialect;
1919
import org.hibernate.engine.jdbc.Size;
2020
import org.hibernate.query.criteria.JpaCriteriaQuery;
2121
import org.hibernate.query.criteria.JpaRoot;
2222
import org.hibernate.query.sqm.NodeBuilder;
23+
import org.hibernate.testing.orm.junit.RequiresDialect;
2324
import org.hibernate.type.SqlTypes;
2425
import org.hibernate.type.descriptor.java.ArrayJavaType;
2526
import org.hibernate.type.descriptor.java.spi.JavaTypeRegistry;
@@ -37,6 +38,7 @@
3738
import org.hibernate.testing.orm.junit.SessionFactory;
3839
import org.hibernate.testing.orm.junit.SessionFactoryScope;
3940
import org.hibernate.testing.orm.junit.SkipForDialect;
41+
import org.hibernate.testing.orm.junit.Jira;
4042
import org.junit.jupiter.api.AfterEach;
4143
import org.junit.jupiter.api.BeforeEach;
4244
import org.junit.jupiter.api.Test;
@@ -172,4 +174,21 @@ public void testNonExistingArrayType(SessionFactoryScope scope) {
172174
} );
173175
}
174176

177+
@Test
178+
@Jira("https://hibernate.atlassian.net/browse/HHH-19681")
179+
@RequiresDialect(PostgreSQLDialect.class)
180+
public void testJsonBJdbcArray(SessionFactoryScope scope) {
181+
scope.inTransaction( session -> {
182+
String sql = "select groupId, array_agg(json_values) " +
183+
"from (VALUES (1,'[1,2]'::jsonb),(1,'[10,20]'::jsonb)) as row(groupId,json_values) " +
184+
"group by groupId";
185+
186+
List<Object[]> result = session.createNativeQuery(sql, Object[].class).getResultList();
187+
assertEquals(1,result.size());
188+
assertEquals(2, result.get(0).length);
189+
assertEquals( 1,result.get(0)[0] );
190+
assertEquals( "[[1, 2], [10, 20]]", Arrays.toString((String[])result.get(0)[1]) );
191+
} );
192+
}
193+
175194
}

0 commit comments

Comments
 (0)