Skip to content

Commit b83a7fe

Browse files
committed
HHH-18809 improve the test
Signed-off-by: Gavin King <[email protected]>
1 parent 9886b7a commit b83a7fe

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/generated/formula/FormulaGeneratedTest.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import jakarta.persistence.Id;
99
import org.hibernate.annotations.Formula;
1010
import org.hibernate.annotations.Generated;
11+
import org.hibernate.generator.EventType;
1112
import org.hibernate.testing.orm.junit.DomainModel;
1213
import org.hibernate.testing.orm.junit.SessionFactory;
1314
import org.hibernate.testing.orm.junit.SessionFactoryScope;
@@ -37,19 +38,32 @@ public void test(SessionFactoryScope scope) {
3738
assertEquals( "new", entity.status );
3839
assertEquals( unitPrice, entity.unitPrice );
3940
assertEquals( 5, entity.quantity );
41+
assertEquals( 64.95f, entity.total.floatValue(), 0.01f );
4042
} );
4143
scope.inTransaction( session -> {
4244
OrderLine entity = session.createQuery("from WithDefault", OrderLine.class ).getSingleResult();
4345
assertEquals( unitPrice, entity.unitPrice );
4446
assertEquals( 5, entity.quantity );
4547
assertEquals( "new", entity.status );
48+
assertEquals( 64.95f, entity.total.floatValue(), 0.01f );
4649
entity.status = "old"; //should be ignored when fetch=true
4750
} );
4851
scope.inTransaction( session -> {
4952
OrderLine entity = session.createQuery("from WithDefault", OrderLine.class ).getSingleResult();
5053
assertEquals( unitPrice, entity.unitPrice );
5154
assertEquals( 5, entity.quantity );
5255
assertEquals( "new", entity.status );
56+
assertEquals( 64.95f, entity.total.floatValue(), 0.01f );
57+
entity.quantity = 10;
58+
session.flush();
59+
assertEquals( 129.90f, entity.total.floatValue(), 0.01f );
60+
} );
61+
scope.inTransaction( session -> {
62+
OrderLine entity = session.createQuery("from WithDefault", OrderLine.class ).getSingleResult();
63+
assertEquals( unitPrice, entity.unitPrice );
64+
assertEquals( 10, entity.quantity );
65+
assertEquals( "new", entity.status );
66+
assertEquals( 129.90f, entity.total.floatValue(), 0.01f );
5367
} );
5468
}
5569

@@ -61,12 +75,16 @@ public void dropTestData(SessionFactoryScope scope) {
6175
@Entity(name="WithDefault")
6276
public static class OrderLine {
6377
@Id
78+
private long id;
6479
private BigDecimal unitPrice;
65-
@Id
6680
private int quantity = 1;
6781
@Generated
6882
@Formula(value = "'new'")
6983
private String status;
84+
@Generated(event = {EventType.INSERT, EventType.UPDATE})
85+
@Formula(value = "quantity*unitPrice")
86+
private BigDecimal total;
87+
7088

7189
public OrderLine() {}
7290
public OrderLine(BigDecimal unitPrice, int quantity) {

0 commit comments

Comments
 (0)