#1952 - Entity bean with @Id and ONLY @WhenCreated treated as reference bean - not inserted

This commit is contained in:
rob bygrave
2020-02-21 00:14:23 +13:00
parent a23d9f7db8
commit e4390ed8a2
8 changed files with 136 additions and 10 deletions
@@ -11,6 +11,8 @@ import org.tests.model.basic.Order;
import org.tests.model.composite.RCustomer;
import org.tests.model.composite.RCustomerKey;
import org.junit.Test;
import org.tests.model.embedded.UserInterestLive;
import org.tests.model.embedded.UserInterestLiveKey;
import java.sql.Timestamp;
import java.util.Map;
@@ -56,13 +58,21 @@ public class TestBeanDescriptorHasIdProperty extends BaseTestCase {
Customer order = new Customer();
EntityBeanIntercept ebi = getIntercept(order);
assertFalse(beanDescriptor.hasIdPropertyOnly(ebi));
assertFalse(beanDescriptor.referenceIdPropertyOnly(ebi));
order.setId(23);
assertTrue(beanDescriptor.hasIdPropertyOnly(ebi));
assertTrue(beanDescriptor.referenceIdPropertyOnly(ebi));
order.setName("custName");
assertFalse(beanDescriptor.hasIdPropertyOnly(ebi));
assertFalse(beanDescriptor.referenceIdPropertyOnly(ebi));
}
@Test
public void isReference_withGeneratedOnInsertOnlyProperty_expect_false() {
BeanDescriptor<UserInterestLive> descriptor = spiServer.getBeanDescriptor(UserInterestLive.class);
UserInterestLive bean = new UserInterestLive(new UserInterestLiveKey(1L, 2L));
EntityBeanIntercept ebi = getIntercept(bean);
assertFalse(descriptor.referenceIdPropertyOnly(ebi));
}
@Test
@@ -0,0 +1,17 @@
package io.ebeaninternal.server.deploy.generatedproperty;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
public class GeneratedInsertJavaTimeTest {
@Test
public void test_generatedOnInsert() {
GeneratedProperty gen = new GeneratedInsertJavaTime.InstantDT();
assertTrue(GeneratedWhenCreated.class.isInstance(gen));
assertTrue(gen instanceof GeneratedWhenCreated);
}
}