#610 - ManyToOne returns wrong ID value (prior ManyToOne with inheritance and null value). Regression introduced in 7.2.1.

This commit is contained in:
Robin Bygrave
2016-03-22 09:46:12 +13:00
parent 0d8146d453
commit 90f786babd
2 changed files with 30 additions and 7 deletions
@@ -16,35 +16,56 @@ import com.avaje.tests.inheritance.model.ProductConfiguration;
public class TestInheritanceJoins extends BaseTestCase {
@Test
public void testAssocOne() {
EbeanServer server = Ebean.getServer(null);
EbeanServer server = Ebean.getDefaultServer();
final ProductConfiguration pc = new ProductConfiguration();
ProductConfiguration pc = new ProductConfiguration();
pc.setName("PC1");
server.save(pc);
final GroupConfiguration gc = new GroupConfiguration();
GroupConfiguration gc = new GroupConfiguration();
gc.setName("GC1");
server.save(gc);
CalculationResult r = new CalculationResult();
final Double charge = 100.0;
r.setCharge(charge);
r.setCharge(100.0);
r.setProductConfiguration(pc);
r.setGroupConfiguration(gc);
server.save(r);
Query<CalculationResult> q = server.createNamedQuery(CalculationResult.class, "loadResult");
q.setParameter("charge", charge);
q.setParameter("charge", 100.0);
List<CalculationResult> results = q.findList();
Assert.assertTrue(!results.isEmpty());
}
@Test
public void assocOne_when_null() {
EbeanServer server = Ebean.getDefaultServer();
GroupConfiguration gc = new GroupConfiguration();
gc.setName("GC1");
server.save(gc);
CalculationResult r = new CalculationResult();
r.setCharge(100.0);
// @ManyToOne with inheritance and null
r.setProductConfiguration(null);
r.setGroupConfiguration(gc);
server.save(r);
CalculationResult result = server.find(CalculationResult.class, r.getId());
GroupConfiguration group = result.getGroupConfiguration();
Assert.assertEquals(group.getId(), gc.getId());
}
@Test
public void testAssocOneWithNullAssoc() {