Skip to content

Commit 792b787

Browse files
committed
HHH-16125 make tests work with postgres enums
1 parent 7402338 commit 792b787

File tree

5 files changed

+28
-14
lines changed

5 files changed

+28
-14
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/collectionelement/Boy.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class Boy {
4848
private Map<String, Integer> scorePerPreferredName = new HashMap<>();
4949
private int[] favoriteNumbers;
5050
private Set<Toy> favoriteToys = new HashSet<>();
51-
private Set<Character> characters = new HashSet<>();
51+
private Set<CharacterTrait> characters = new HashSet<>();
5252
private Map<String, FavoriteFood> foods = new HashMap<>();
5353
private Set<CountryAttitude> countryAttitudes = new HashSet<>();
5454

@@ -155,11 +155,11 @@ public void setFavoriteToys(Set<Toy> favoriteToys) {
155155
@ElementCollection
156156
@Enumerated(EnumType.STRING)
157157
@Column(name = "`characters`")
158-
public Set<Character> getCharacters() {
158+
public Set<CharacterTrait> getCharacters() {
159159
return characters;
160160
}
161161

162-
public void setCharacters(Set<Character> characters) {
162+
public void setCharacters(Set<CharacterTrait> characters) {
163163
this.characters = characters;
164164
}
165165

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/collectionelement/Character.java renamed to hibernate-core/src/test/java/org/hibernate/orm/test/annotations/collectionelement/CharacterTrait.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
/**
1111
* @author Emmanuel Bernard
1212
*/
13-
public enum Character {
13+
public enum CharacterTrait {
1414
GENTLE,
1515
NORMAL,
1616
AGGRESSIVE,

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/collectionelement/DefaultNamingCollectionElementTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ public void testSimpleElement(SessionFactoryScope scope) {
8080
favNbrs[index] = index * 3;
8181
}
8282
boy.setFavoriteNumbers( favNbrs );
83-
boy.getCharacters().add( Character.GENTLE );
84-
boy.getCharacters().add( Character.CRAFTY );
83+
boy.getCharacters().add( CharacterTrait.GENTLE );
84+
boy.getCharacters().add( CharacterTrait.CRAFTY );
8585

8686
HashMap<String, FavoriteFood> foods = new HashMap<>();
8787
foods.put( "breakfast", FavoriteFood.PIZZA );
@@ -103,7 +103,7 @@ public void testSimpleElement(SessionFactoryScope scope) {
103103
assertEquals( Integer.valueOf( 5 ), boy.getScorePerNickName().get( "Thing" ) );
104104
assertNotNull( boy.getFavoriteNumbers() );
105105
assertEquals( 3, boy.getFavoriteNumbers()[1] );
106-
assertTrue( boy.getCharacters().contains( Character.CRAFTY ) );
106+
assertTrue( boy.getCharacters().contains( CharacterTrait.CRAFTY ) );
107107
assertTrue( boy.getFavoriteFood().get( "dinner" ).equals( FavoriteFood.SUSHI ) );
108108
assertTrue( boy.getFavoriteFood().get( "lunch" ).equals( FavoriteFood.KUNGPAOCHICKEN ) );
109109
assertTrue( boy.getFavoriteFood().get( "breakfast" ).equals( FavoriteFood.PIZZA ) );
@@ -199,8 +199,8 @@ public void testLazyCollectionofElements(SessionFactoryScope scope) {
199199
favNbrs[index] = index * 3;
200200
}
201201
boy.setFavoriteNumbers( favNbrs );
202-
boy.getCharacters().add( Character.GENTLE );
203-
boy.getCharacters().add( Character.CRAFTY );
202+
boy.getCharacters().add( CharacterTrait.GENTLE );
203+
boy.getCharacters().add( CharacterTrait.CRAFTY );
204204
session.persist( boy );
205205
session.getTransaction().commit();
206206

@@ -215,7 +215,7 @@ public void testLazyCollectionofElements(SessionFactoryScope scope) {
215215
assertEquals( new Integer( 5 ), boy.getScorePerNickName().get( "Thing" ) );
216216
assertNotNull( boy.getFavoriteNumbers() );
217217
assertEquals( 3, boy.getFavoriteNumbers()[1] );
218-
assertTrue( boy.getCharacters().contains( Character.CRAFTY ) );
218+
assertTrue( boy.getCharacters().contains( CharacterTrait.CRAFTY ) );
219219
List result = session.createQuery(
220220
"select boy from Boy boy join boy.nickNames names where names = :name" )
221221
.setParameter( "name", "Thing" ).list();

hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/FunctionTests.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import static org.hamcrest.MatcherAssert.assertThat;
5555
import static org.hamcrest.Matchers.isOneOf;
5656

57+
import static org.hibernate.testing.orm.domain.gambit.EntityOfBasics.Gender.FEMALE;
5758
import static org.junit.jupiter.api.Assertions.assertEquals;
5859
import static org.junit.jupiter.api.Assertions.fail;
5960
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -409,9 +410,15 @@ public void testConcatFunctionParameters(SessionFactoryScope scope) {
409410
public void testCoalesceFunction(SessionFactoryScope scope) {
410411
scope.inTransaction(
411412
session -> {
412-
session.createQuery("select coalesce(nullif('',''), e.gender, e.convertedGender) from EntityOfBasics e", EntityOfBasics.Gender.class)
413+
//Derby does not like literal nulls :-/
414+
// session.createQuery("select coalesce(null, e.gender, org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.MALE) from EntityOfBasics e", EntityOfBasics.Gender.class)
415+
// .list();
416+
session.createQuery("select coalesce(nullif(e.gender,org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.FEMALE), e.gender) from EntityOfBasics e", EntityOfBasics.Gender.class)
417+
.list();
418+
session.createQuery("select coalesce(nullif(e.gender,?1), e.gender) from EntityOfBasics e", EntityOfBasics.Gender.class)
419+
.setParameter(1, FEMALE)
413420
.list();
414-
session.createQuery("select ifnull(e.gender, e.convertedGender) from EntityOfBasics e", EntityOfBasics.Gender.class)
421+
session.createQuery("select ifnull(e.gender, org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.FEMALE) from EntityOfBasics e", EntityOfBasics.Gender.class)
415422
.list();
416423
assertThat( session.createQuery("select coalesce(nullif('',''), nullif('bye','bye'), 'hello', 'oops')", String.class).getSingleResult(), is("hello") );
417424
assertThat( session.createQuery("select ifnull(nullif('bye','bye'), 'hello')", String.class).getSingleResult(), is("hello") );

hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/StandardFunctionTests.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import static org.hamcrest.CoreMatchers.nullValue;
3737
import static org.hamcrest.MatcherAssert.assertThat;
3838
import static org.hamcrest.Matchers.isOneOf;
39+
import static org.hibernate.testing.orm.domain.gambit.EntityOfBasics.Gender.FEMALE;
3940

4041
/**
4142
* @author Steve Ebersole
@@ -181,9 +182,15 @@ public void testConcatFunction(SessionFactoryScope scope) {
181182
public void testCoalesceFunction(SessionFactoryScope scope) {
182183
scope.inTransaction(
183184
session -> {
184-
session.createQuery("select coalesce(nullif('',''), e.gender, e.convertedGender) from EntityOfBasics e")
185+
//Derby does not like literal nulls :-/
186+
// session.createQuery("select coalesce(null, e.gender, org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.MALE) from EntityOfBasics e")
187+
// .list();
188+
session.createQuery("select coalesce(nullif(e.gender,org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.FEMALE), e.gender) from EntityOfBasics e")
189+
.list();
190+
session.createQuery("select coalesce(nullif(e.gender,?1), e.gender) from EntityOfBasics e")
191+
.setParameter(1, FEMALE)
185192
.list();
186-
session.createQuery("select ifnull(e.gender, e.convertedGender) from EntityOfBasics e")
193+
session.createQuery("select ifnull(e.gender, org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.MALE) from EntityOfBasics e")
187194
.list();
188195
}
189196
);

0 commit comments

Comments
 (0)