Skip to content

Commit

Permalink
HHH-19126 Add test for issue
Browse files Browse the repository at this point in the history
  • Loading branch information
mbladel committed Feb 14, 2025
1 parent a65e615 commit cf6359d
Showing 1 changed file with 40 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;

import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.CriteriaQuery;
import jakarta.persistence.criteria.Root;

Expand All @@ -24,10 +27,11 @@
import org.hibernate.query.criteria.HibernateCriteriaBuilder;
import org.hibernate.query.criteria.JpaExpression;

import org.hibernate.testing.TestForIssue;
import org.hibernate.testing.orm.junit.Jira;

import org.junit.jupiter.api.Test;

import static org.assertj.core.api.Assertions.assertThat;
import static org.hibernate.testing.transaction.TransactionUtil.doInJPA;

/**
Expand Down Expand Up @@ -72,15 +76,15 @@ public void testCollectionIsEmptyCriteria() {
}

@Test
@TestForIssue( jiraKey = "HHH-11225" )
@Jira("https://hibernate.atlassian.net/browse/HHH-11225")
public void testElementMapIsEmptyHql() {
doInJPA( this::entityManagerFactory, entityManager -> {
entityManager.createQuery( "select m from MapEntity m where m.localized is empty" ).getResultList();
});
}

@Test
@TestForIssue( jiraKey = "HHH-11225" )
@Jira("https://hibernate.atlassian.net/browse/HHH-11225")
public void testElementMapIsEmptyCriteria() {
doInJPA( this::entityManagerFactory, entityManager -> {
final HibernateCriteriaBuilder cb = (HibernateCriteriaBuilder) entityManager.getCriteriaBuilder();
Expand All @@ -96,15 +100,15 @@ public void testElementMapIsEmptyCriteria() {
}

@Test
@TestForIssue( jiraKey = "HHH-11225" )
@Jira("https://hibernate.atlassian.net/browse/HHH-11225")
public void testEntityMapIsEmptyHql() {
doInJPA( this::entityManagerFactory, entityManager -> {
entityManager.createQuery( "select a from Article a where a.translations is empty" ).getResultList();
});
}

@Test
@TestForIssue( jiraKey = "HHH-11225" )
@Jira("https://hibernate.atlassian.net/browse/HHH-11225")
public void testEntityMapIsEmptyCriteria() {
doInJPA( this::entityManagerFactory, entityManager -> {
final HibernateCriteriaBuilder cb = (HibernateCriteriaBuilder) entityManager.getCriteriaBuilder();
Expand Down Expand Up @@ -146,15 +150,15 @@ public void testCollectionSizeCriteria() {
}

@Test
@TestForIssue( jiraKey = "HHH-11225" )
@Jira("https://hibernate.atlassian.net/browse/HHH-11225")
public void testElementMapSizeHql() {
doInJPA( this::entityManagerFactory, entityManager -> {
entityManager.createQuery( "select m from MapEntity m where size( m.localized ) > 1" ).getResultList();
});
}

@Test
@TestForIssue( jiraKey = "HHH-11225" )
@Jira("https://hibernate.atlassian.net/browse/HHH-11225")
public void testElementMapSizeCriteria() {
doInJPA( this::entityManagerFactory, entityManager -> {
final HibernateCriteriaBuilder cb = (HibernateCriteriaBuilder) entityManager.getCriteriaBuilder();
Expand All @@ -170,15 +174,15 @@ public void testElementMapSizeCriteria() {
}

@Test
@TestForIssue( jiraKey = "HHH-11225" )
@Jira("https://hibernate.atlassian.net/browse/HHH-11225")
public void testEntityMapSizeHql() {
doInJPA( this::entityManagerFactory, entityManager -> {
entityManager.createQuery( "select a from Article a where size(a.translations) > 1" ).getResultList();
});
}

@Test
@TestForIssue( jiraKey = "HHH-11225" )
@Jira("https://hibernate.atlassian.net/browse/HHH-11225")
public void testEntityMapSizeCriteria() {
doInJPA( this::entityManagerFactory, entityManager -> {
final HibernateCriteriaBuilder cb = (HibernateCriteriaBuilder) entityManager.getCriteriaBuilder();
Expand All @@ -193,4 +197,31 @@ public void testEntityMapSizeCriteria() {
});
}

@Test
@Jira("https://hibernate.atlassian.net/browse/HHH-19126")
public void testPluralMapPathJavaType() {
doInJPA( this::entityManagerFactory, entityManager -> {
final CriteriaBuilder cb = entityManager.getCriteriaBuilder();

final CriteriaQuery<Article> criteria = cb.createQuery( Article.class );
final Root<Article> root = criteria.from( Article.class );

assertThat( root.get( Article_.translations ).getJavaType() ).isEqualTo( Map.class );
assertThat( root.get( "translations" ).getJavaType() ).isEqualTo( Map.class );
} );
}

@Test
@Jira("https://hibernate.atlassian.net/browse/HHH-19126")
public void testPluralListPathJavaType() {
doInJPA( this::entityManagerFactory, entityManager -> {
final CriteriaBuilder cb = entityManager.getCriteriaBuilder();

final CriteriaQuery<Address> criteria = cb.createQuery( Address.class );
final Root<Address> root = criteria.from( Address.class );

assertThat( root.get( Address_.phones ).getJavaType() ).isEqualTo( List.class );
assertThat( root.get( "phones" ).getJavaType() ).isEqualTo( List.class );
} );
}
}

0 comments on commit cf6359d

Please sign in to comment.