Skip to content

Commit ad33eb4

Browse files
committed
HHH-18649 test
1 parent efc50aa commit ad33eb4

File tree

3 files changed

+68
-1
lines changed

3 files changed

+68
-1
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/jpa/criteria/basic/PredicateTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.hibernate.orm.test.jpa.metamodel.Order;
2222
import org.hibernate.orm.test.jpa.metamodel.Order_;
2323
import org.hibernate.testing.orm.junit.JiraKey;
24-
import org.hibernate.testing.orm.junit.JiraKey;
2524
import org.hibernate.testing.orm.junit.SkipForDialect;
2625

2726
import org.junit.jupiter.api.AfterEach;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
* SPDX-License-Identifier: LGPL-2.1-or-later
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.jpa.metadata;
6+
7+
import jakarta.persistence.Entity;
8+
import jakarta.persistence.GeneratedValue;
9+
import jakarta.persistence.Id;
10+
import jakarta.persistence.NamedEntityGraph;
11+
import jakarta.persistence.NamedQuery;
12+
13+
import java.time.LocalDateTime;
14+
15+
@NamedQuery(name = "TextById",
16+
query = "select text from Record where id = ?1")
17+
@NamedQuery(name = "AllRecords",
18+
query = "from Record order by timestamp, id")
19+
@NamedQuery(name = "AllRecordsAsTuples",
20+
query = "select id, text from Record order by timestamp, id")
21+
@NamedEntityGraph(name = "CompleteRecord",
22+
includeAllAttributes = true)
23+
@Entity
24+
public class Record {
25+
@Id @GeneratedValue
26+
String id;
27+
String text;
28+
LocalDateTime timestamp = LocalDateTime.now();
29+
Record() {}
30+
public Record(String text) {
31+
this.text = text;
32+
}
33+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* SPDX-License-Identifier: LGPL-2.1-or-later
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.jpa.metadata;
6+
7+
import org.hibernate.testing.orm.junit.EntityManagerFactoryScope;
8+
import org.hibernate.testing.orm.junit.Jpa;
9+
import org.junit.jupiter.api.Test;
10+
11+
import java.util.List;
12+
13+
import static org.junit.jupiter.api.Assertions.assertEquals;
14+
15+
@Jpa(annotatedClasses = Record.class)
16+
public class TypesafeNamedQueryTest {
17+
@Test void test(EntityManagerFactoryScope scope) {
18+
scope.inTransaction( entityManager -> {
19+
Record record1 = new Record("Hello, World!");
20+
Record record2 = new Record("Goodbye!");
21+
entityManager.persist(record1);
22+
entityManager.persist(record2);
23+
String text = entityManager.createQuery(Record_._TextById_).setParameter(1, record1.id).getSingleResult();
24+
assertEquals("Hello, World!", text);
25+
List<Record> all = entityManager.createQuery(Record_._AllRecords_).getResultList();
26+
assertEquals(2, all.size());
27+
List<Object[]> tuples = entityManager.createQuery(Record_._AllRecordsAsTuples_).getResultList();
28+
assertEquals(2, all.size());
29+
assertEquals(tuples.get(0)[0], record1.id);
30+
assertEquals(tuples.get(1)[1], record2.text);
31+
Record record = entityManager.find(Record_._CompleteRecord, record2.id);
32+
assertEquals("Goodbye!", record.text);
33+
});
34+
}
35+
}

0 commit comments

Comments
 (0)