8000 HHH-18894 Simplified test case selecting (non-managed) enum constant … · hibernate/hibernate-orm@ecc5723 · GitHub
[go: up one dir, main page]

Skip to content

Commit ecc5723

Browse files
cigalybeikov
authored andcommitted
HHH-18894 Simplified test case selecting (non-managed) enum constant as column
1 parent 605f389 commit ecc5723

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
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.orm.test.query;
8+
9+
import jakarta.persistence.Entity;
10+
import jakarta.persistence.Id;
11+
import jakarta.persistence.Tuple;
12+
import org.hibernate.testing.orm.junit.DomainModel;
13+
import org.hibernate.testing.orm.junit.SessionFactory;
14+
import org.hibernate.testing.orm.junit.SessionFactoryScope;
15+
import org.junit.jupiter.api.AfterAll;
16+
import org.junit.jupiter.api.BeforeAll;
17+
import org.junit.jupiter.api.Test;
18+
19+
import java.util.List;
20+
21+
import static org.junit.jupiter.api.Assertions.assertEquals;
22+
23+
@DomainModel(annotatedClasses = SelectUnknownEnumLiteralTest.Transaction.class)
24+
@SessionFactory
25+
public class SelectUnknownEnumLiteralTest {
26+
27+
@BeforeAll
28+
void setup(SessionFactoryScope scope) {
29+
scope.inTransaction( em -> em.persist( new Transaction( 1L, "abc" ) ) );
30+
}
31+
32+
@AfterAll
33+
void clean(SessionFactoryScope scope) {
34+
scope.inTransaction( em -> em.createMutationQuery( "delete from Tx" ).executeUpdate() );
35+
}
36+
37+
@Test
38+
void test(SessionFactoryScope scope) {
39+
final List<Tuple> tuples = scope.fromSession( em ->
40+
em.createQuery(
41+
"SELECT org.hibernate.orm.test.query.SelectUnknownEnumLiteralTest$Type.TRANSACTION, e.id, e.reference FROM Tx e",
42+
Tuple.class ).getResultList() );
43+
assertEquals( 1, tuples.size() );
44+
assertEquals( Type.TRANSACTION, tuples.get( 0 ).get( 0 ) );
45+
assertEquals( 1L, tuples.get( 0 ).get( 1 ) );
46+
}
47+
48+
@Entity(name = "Tx")
49+
static class Transaction {
50+
@Id
51+
Long id;
52+
String reference;
53+
54+
Transaction() {
55+
}
56+
57+
Transaction(Long id, String reference) {
58+
this.id = id;
59+
this.reference = reference;
60+
}
61+
}
62+
63+
enum Type {
64+
TRANSACTION, DIRECT_DEBIT_GROUP, DIRECT_DEBIT
65+
}
66+
}

0 commit comments

Comments
 (0)
0