mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#641 - ENH: Add EbeanServer.setBeanId(bean, id) ... to make it easy to convert id value to appropriate type and set
This commit is contained in:
@@ -244,6 +244,11 @@ public class TDSpiEbeanServer implements SpiEbeanServer {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object setBeanId(Object bean, Object id) {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getBeanId(Object bean) {
|
||||
return null;
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.avaje.tests.basic;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.avaje.tests.model.basic.Customer;
|
||||
import com.avaje.tests.model.basic.MyEBasicConfigStartup;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
@@ -11,10 +12,35 @@ import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.EbeanServer;
|
||||
import com.avaje.tests.model.basic.EBasic;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class TestExplicitInsert extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void setId_when_converted() {
|
||||
|
||||
EbeanServer server = Ebean.getDefaultServer();
|
||||
|
||||
Customer cust = new Customer();
|
||||
Object returnId = server.setBeanId(cust, "42");
|
||||
|
||||
assertThat(returnId).isEqualTo(42);
|
||||
assertThat(cust.getId()).isEqualTo(42);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setId_when_correctType() {
|
||||
|
||||
EbeanServer server = Ebean.getDefaultServer();
|
||||
|
||||
Customer customer = new Customer();
|
||||
Object returnId = server.setBeanId(customer, 42);
|
||||
|
||||
assertThat(returnId).isEqualTo(42);
|
||||
assertThat(customer.getId()).isEqualTo(42);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() throws InterruptedException {
|
||||
|
||||
@@ -27,7 +53,7 @@ public class TestExplicitInsert extends BaseTestCase {
|
||||
b.setDescription("explicit insert");
|
||||
b.setStatus(EBasic.Status.ACTIVE);
|
||||
|
||||
EbeanServer server = Ebean.getServer(null);
|
||||
EbeanServer server = Ebean.getDefaultServer();
|
||||
server.insert(b);
|
||||
|
||||
Assert.assertNotNull(b.getId());
|
||||
@@ -35,6 +61,9 @@ public class TestExplicitInsert extends BaseTestCase {
|
||||
Assert.assertEquals(b.getId(), server.getBeanId(b));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
EBasic b2 = server.find(EBasic.class, b.getId());
|
||||
b2.setId(null);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user