Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 454b44a

Browse files
committed
HHH-19747 Testing Hibernate Envers with entity containing property of enum type with field annotated with @EnumeratedValue
1 parent 9a6fc44 commit 454b44a

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.envers.mapping.enumeratedvalue;
6+
7+
import jakarta.persistence.Column;
8+
import jakarta.persistence.Entity;
9+
import jakarta.persistence.EntityManagerFactory;
10+
import jakarta.persistence.EnumType;
11+
import jakarta.persistence.Enumerated;
12+
import jakarta.persistence.EnumeratedValue;
13+
import jakarta.persistence.Id;
14+
import jakarta.persistence.Table;
15+
import org.hibernate.annotations.JdbcTypeCode;
16+
import org.hibernate.envers.Audited;
17+
import org.hibernate.testing.orm.junit.EntityManagerFactoryBasedFunctionalTest;
18+
import org.hibernate.testing.orm.junit.JiraKey;
19+
import org.hibernate.type.SqlTypes;
20+
import org.junit.Test;
21+
22+
23+
@JiraKey( "HHH-19747" )
24+
public class CharEnumerateValueTests extends EntityManagerFactoryBasedFunctionalTest {
25+
26+
@Override
27+
protected Class<?>[] getAnnotatedClasses() {
28+
return new Class<?>[] {Person.class};
29+
}
30+
31+
@Test
32+
public void testBasicUsage() {
33+
final EntityManagerFactory testEmf = produceEntityManagerFactory();
34+
testEmf.close();
35+
}
36+
37+
public enum Gender {
38+
MALE( 'M' ),
39+
FEMALE( 'F' ),
40+
OTHER( 'U' );
41+
42+
@EnumeratedValue
43+
private final char code;
44+
45+
Gender(char code) {
46+
this.code = code;
47+
}
48+
49+
public char getCode() {
50+
return code;
51+
}
52+
}
53+
54+
@Audited
55+
@Entity(name = "Person")
56+
@Table(name = "persons")
57+
public static class Person {
58+
@Id
59+
private Integer id;
60+
private String name;
61+
@Enumerated(EnumType.STRING)
62+
@JdbcTypeCode(SqlTypes.CHAR)
63+
@Column(length = 1)
64+
private Gender gender;
65+
66+
public Person() {
67+
}
68+
69+
public Person(Integer id, String name, Gender gender) {
70+
this.id = id;
71+
this.name = name;
72+
this.gender = gender;
73+
}
74+
}
75+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /