Skip to content

Commit 82fc3a1

Browse files
VladoKurucbeikov
authored andcommitted
HHH-19372: Reproducing test
1 parent 21c911e commit 82fc3a1

File tree

3 files changed

+106
-0
lines changed

3 files changed

+106
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.bytecode.enhancement.optimizer;
6+
7+
import org.hibernate.orm.test.bytecode.enhancement.optimizer.child.ChildEntity;
8+
import org.hibernate.query.Query;
9+
10+
import org.hibernate.testing.bytecode.enhancement.extension.BytecodeEnhanced;
11+
import org.hibernate.testing.orm.junit.DomainModel;
12+
import org.hibernate.testing.orm.junit.Jira;
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.Test;
17+
18+
import static org.assertj.core.api.Assertions.assertThat;
19+
20+
@DomainModel(annotatedClasses = {
21+
ParentEntity.class,
22+
ChildEntity.class,
23+
})
24+
@SessionFactory
25+
@Jira( "https://hibernate.atlassian.net/browse/HHH-19059" )
26+
@BytecodeEnhanced
27+
public class HierarchyBytecodeOptimizerTest {
28+
29+
@Test
30+
public void testOptimizerSetPropertyValues(SessionFactoryScope scope) {
31+
ChildEntity childEntity = new ChildEntity();
32+
childEntity.setId( 1L );
33+
childEntity.setField( "field" );
34+
childEntity.setChieldField( "childField" );
35+
36+
scope.inTransaction( session -> session.persist( childEntity ) );
37+
38+
scope.inTransaction( session -> {
39+
Query<ChildEntity> query = session.createQuery( "select c from ChildEntity c where c.field = :field", ChildEntity.class);
40+
query.setParameter( "field", "field" );
41+
assertThat( query.uniqueResult() ).isNotNull();
42+
} );
43+
}
44+
45+
@AfterAll
46+
public void cleanup(SessionFactoryScope scope) {
47+
scope.getSessionFactory().getSchemaManager().truncateMappedObjects();
48+
}
49+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.bytecode.enhancement.optimizer;
6+
7+
import jakarta.persistence.Entity;
8+
import jakarta.persistence.Id;
9+
import jakarta.persistence.Inheritance;
10+
import jakarta.persistence.InheritanceType;
11+
12+
@Entity(name = "ParentEntity")
13+
@Inheritance(strategy = InheritanceType.JOINED)
14+
public class ParentEntity {
15+
@Id
16+
private Long id;
17+
18+
private String field;
19+
20+
public Long getId() {
21+
return id;
22+
}
23+
24+
public void setId(Long id) {
25+
this.id = id;
26+
}
27+
28+
public String getField() {
29+
return field;
30+
}
31+
32+
public void setField(String field) {
33+
this.field = field;
34+
}
35+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.bytecode.enhancement.optimizer.child;
6+
7+
import org.hibernate.orm.test.bytecode.enhancement.optimizer.ParentEntity;
8+
9+
import jakarta.persistence.Entity;
10+
11+
@Entity(name = "ChildEntity")
12+
public class ChildEntity extends ParentEntity {
13+
private String childField;
14+
15+
public String getChildField() {
16+
return childField;
17+
}
18+
19+
public void setChieldField(String childField) {
20+
this.childField = childField;
21+
}
22+
}

0 commit comments

Comments
 (0)