Skip to content

Commit 23f2cc5

Browse files
koentsjedreab8
authored andcommitted
Verify array support: add 'EntityOfArrays' case to the GambitDomainModel and the PluralAttributeMappingTests
Signed-off-by: Koen Aers <koen.aers@gmail.com>
1 parent 86fa0d5 commit 23f2cc5

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/metamodel/mapping/collections/PluralAttributeMappingTests.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.hibernate.metamodel.MappingMetamodel;
1313

1414
import org.hibernate.testing.orm.domain.StandardDomainModel;
15+
import org.hibernate.testing.orm.domain.gambit.EntityOfArrays;
1516
import org.hibernate.testing.orm.domain.gambit.EntityOfSets;
1617
import org.hibernate.testing.orm.domain.gambit.EntityOfMaps;
1718
import org.hibernate.testing.orm.domain.gambit.EntityOfLists;
@@ -35,6 +36,17 @@
3536
@SuppressWarnings("WeakerAccess")
3637
public class PluralAttributeMappingTests {
3738

39+
@Test
40+
public void testArrays(SessionFactoryScope scope) {
41+
final MappingMetamodel domainModel = scope.getSessionFactory().getDomainModel();
42+
final EntityMappingType containerEntityDescriptor = domainModel.getEntityDescriptor( EntityOfArrays.class );
43+
44+
assertThat( containerEntityDescriptor.getNumberOfAttributeMappings(), is( 2 ) );
45+
46+
final AttributeMapping arrayOfBasics = containerEntityDescriptor.findAttributeMapping( "arrayOfBasics" );
47+
assertThat( arrayOfBasics, notNullValue() );
48+
}
49+
3850
@Test
3951
public void testLists(SessionFactoryScope scope) {
4052
final MappingMetamodel domainModel = scope.getSessionFactory().getDomainModel();
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
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
6+
*/
7+
package org.hibernate.testing.orm.domain.gambit;
8+
9+
import javax.persistence.ElementCollection;
10+
import javax.persistence.Entity;
11+
import javax.persistence.Id;
12+
import javax.persistence.OrderColumn;
13+
14+
/**
15+
* @author Koen Aers
16+
*/
17+
@SuppressWarnings("unused")
18+
@Entity
19+
public class EntityOfArrays {
20+
21+
private Integer id;
22+
private String name;
23+
24+
private String[] arrayOfBasics;
25+
26+
27+
public EntityOfArrays() {
28+
}
29+
30+
public EntityOfArrays(Integer id, String name) {
31+
this.id = id;
32+
this.name = name;
33+
}
34+
35+
@Id
36+
public Integer getId() {
37+
return id;
38+
}
39+
40+
public void setId(Integer id) {
41+
this.id = id;
42+
}
43+
44+
public String getName() {
45+
return name;
46+
}
47+
48+
public void setName(String name) {
49+
this.name = name;
50+
}
51+
52+
53+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54+
// arrayOfBasics
55+
56+
@ElementCollection
57+
@OrderColumn
58+
public String[] getArrayOfBasics() {
59+
return arrayOfBasics;
60+
}
61+
62+
public void setArrayOfBasics(String[] arrayOfBasics) {
63+
this.arrayOfBasics = arrayOfBasics;
64+
}
65+
66+
}

hibernate-testing/src/main/java/org/hibernate/testing/orm/domain/gambit/GambitDomainModel.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public GambitDomainModel() {
1919
BasicEntity.class,
2020
Component.class,
2121
EmbeddedIdEntity.class,
22+
EntityOfArrays.class,
2223
EntityOfBasics.class,
2324
EntityOfComposites.class,
2425
EntityOfDynamicComponent.class,

0 commit comments

Comments
 (0)