HHH-16125 make tests work with postgres enums
This commit is contained in:
parent
c91cfdf2f1
commit
15d20113e7
|
@ -48,7 +48,7 @@ public class Boy {
|
|||
private Map<String, Integer> scorePerPreferredName = new HashMap<>();
|
||||
private int[] favoriteNumbers;
|
||||
private Set<Toy> favoriteToys = new HashSet<>();
|
||||
private Set<Character> characters = new HashSet<>();
|
||||
private Set<CharacterTrait> characters = new HashSet<>();
|
||||
private Map<String, FavoriteFood> foods = new HashMap<>();
|
||||
private Set<CountryAttitude> countryAttitudes = new HashSet<>();
|
||||
|
||||
|
@ -155,11 +155,11 @@ public class Boy {
|
|||
@ElementCollection
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(name = "`characters`")
|
||||
public Set<Character> getCharacters() {
|
||||
public Set<CharacterTrait> getCharacters() {
|
||||
return characters;
|
||||
}
|
||||
|
||||
public void setCharacters(Set<Character> characters) {
|
||||
public void setCharacters(Set<CharacterTrait> characters) {
|
||||
this.characters = characters;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ package org.hibernate.orm.test.annotations.collectionelement;
|
|||
/**
|
||||
* @author Emmanuel Bernard
|
||||
*/
|
||||
public enum Character {
|
||||
public enum CharacterTrait {
|
||||
GENTLE,
|
||||
NORMAL,
|
||||
AGGRESSIVE,
|
|
@ -80,8 +80,8 @@ public class DefaultNamingCollectionElementTest {
|
|||
favNbrs[index] = index * 3;
|
||||
}
|
||||
boy.setFavoriteNumbers( favNbrs );
|
||||
boy.getCharacters().add( Character.GENTLE );
|
||||
boy.getCharacters().add( Character.CRAFTY );
|
||||
boy.getCharacters().add( CharacterTrait.GENTLE );
|
||||
boy.getCharacters().add( CharacterTrait.CRAFTY );
|
||||
|
||||
HashMap<String, FavoriteFood> foods = new HashMap<>();
|
||||
foods.put( "breakfast", FavoriteFood.PIZZA );
|
||||
|
@ -103,7 +103,7 @@ public class DefaultNamingCollectionElementTest {
|
|||
assertEquals( Integer.valueOf( 5 ), boy.getScorePerNickName().get( "Thing" ) );
|
||||
assertNotNull( boy.getFavoriteNumbers() );
|
||||
assertEquals( 3, boy.getFavoriteNumbers()[1] );
|
||||
assertTrue( boy.getCharacters().contains( Character.CRAFTY ) );
|
||||
assertTrue( boy.getCharacters().contains( CharacterTrait.CRAFTY ) );
|
||||
assertTrue( boy.getFavoriteFood().get( "dinner" ).equals( FavoriteFood.SUSHI ) );
|
||||
assertTrue( boy.getFavoriteFood().get( "lunch" ).equals( FavoriteFood.KUNGPAOCHICKEN ) );
|
||||
assertTrue( boy.getFavoriteFood().get( "breakfast" ).equals( FavoriteFood.PIZZA ) );
|
||||
|
@ -199,8 +199,8 @@ public class DefaultNamingCollectionElementTest {
|
|||
favNbrs[index] = index * 3;
|
||||
}
|
||||
boy.setFavoriteNumbers( favNbrs );
|
||||
boy.getCharacters().add( Character.GENTLE );
|
||||
boy.getCharacters().add( Character.CRAFTY );
|
||||
boy.getCharacters().add( CharacterTrait.GENTLE );
|
||||
boy.getCharacters().add( CharacterTrait.CRAFTY );
|
||||
session.persist( boy );
|
||||
session.getTransaction().commit();
|
||||
|
||||
|
@ -215,7 +215,7 @@ public class DefaultNamingCollectionElementTest {
|
|||
assertEquals( new Integer( 5 ), boy.getScorePerNickName().get( "Thing" ) );
|
||||
assertNotNull( boy.getFavoriteNumbers() );
|
||||
assertEquals( 3, boy.getFavoriteNumbers()[1] );
|
||||
assertTrue( boy.getCharacters().contains( Character.CRAFTY ) );
|
||||
assertTrue( boy.getCharacters().contains( CharacterTrait.CRAFTY ) );
|
||||
List result = session.createQuery(
|
||||
"select boy from Boy boy join boy.nickNames names where names = :name" )
|
||||
.setParameter( "name", "Thing" ).list();
|
||||
|
|
|
@ -54,6 +54,7 @@ import static org.hamcrest.CoreMatchers.*;
|
|||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.hamcrest.Matchers.isOneOf;
|
||||
|
||||
import static org.hibernate.testing.orm.domain.gambit.EntityOfBasics.Gender.FEMALE;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
@ -409,9 +410,15 @@ public class FunctionTests {
|
|||
public void testCoalesceFunction(SessionFactoryScope scope) {
|
||||
scope.inTransaction(
|
||||
session -> {
|
||||
session.createQuery("select coalesce(nullif('',''), e.gender, e.convertedGender) from EntityOfBasics e", EntityOfBasics.Gender.class)
|
||||
//Derby does not like literal nulls :-/
|
||||
// session.createQuery("select coalesce(null, e.gender, org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.MALE) from EntityOfBasics e", EntityOfBasics.Gender.class)
|
||||
// .list();
|
||||
session.createQuery("select coalesce(nullif(e.gender,org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.FEMALE), e.gender) from EntityOfBasics e", EntityOfBasics.Gender.class)
|
||||
.list();
|
||||
session.createQuery("select ifnull(e.gender, e.convertedGender) from EntityOfBasics e", EntityOfBasics.Gender.class)
|
||||
session.createQuery("select coalesce(nullif(e.gender,?1), e.gender) from EntityOfBasics e", EntityOfBasics.Gender.class)
|
||||
.setParameter(1, FEMALE)
|
||||
.list();
|
||||
session.createQuery("select ifnull(e.gender, org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.FEMALE) from EntityOfBasics e", EntityOfBasics.Gender.class)
|
||||
.list();
|
||||
assertThat( session.createQuery("select coalesce(nullif('',''), nullif('bye','bye'), 'hello', 'oops')", String.class).getSingleResult(), is("hello") );
|
||||
assertThat( session.createQuery("select ifnull(nullif('bye','bye'), 'hello')", String.class).getSingleResult(), is("hello") );
|
||||
|
|
|
@ -36,6 +36,7 @@ import static org.hamcrest.CoreMatchers.is;
|
|||
import static org.hamcrest.CoreMatchers.nullValue;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.hamcrest.Matchers.isOneOf;
|
||||
import static org.hibernate.testing.orm.domain.gambit.EntityOfBasics.Gender.FEMALE;
|
||||
|
||||
/**
|
||||
* @author Steve Ebersole
|
||||
|
@ -181,9 +182,15 @@ public class StandardFunctionTests {
|
|||
public void testCoalesceFunction(SessionFactoryScope scope) {
|
||||
scope.inTransaction(
|
||||
session -> {
|
||||
session.createQuery("select coalesce(nullif('',''), e.gender, e.convertedGender) from EntityOfBasics e")
|
||||
//Derby does not like literal nulls :-/
|
||||
// session.createQuery("select coalesce(null, e.gender, org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.MALE) from EntityOfBasics e")
|
||||
// .list();
|
||||
session.createQuery("select coalesce(nullif(e.gender,org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.FEMALE), e.gender) from EntityOfBasics e")
|
||||
.list();
|
||||
session.createQuery("select ifnull(e.gender, e.convertedGender) from EntityOfBasics e")
|
||||
session.createQuery("select coalesce(nullif(e.gender,?1), e.gender) from EntityOfBasics e")
|
||||
.setParameter(1, FEMALE)
|
||||
.list();
|
||||
session.createQuery("select ifnull(e.gender, org.hibernate.testing.orm.domain.gambit.EntityOfBasics$Gender.MALE) from EntityOfBasics e")
|
||||
.list();
|
||||
}
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue