mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Support for @Identity - with start, increment, cache
This commit is contained in:
+28
-31
@@ -10,7 +10,6 @@ import io.ebean.config.dbplatform.oracle.OraclePlatform;
|
||||
import io.ebean.config.dbplatform.postgres.PostgresPlatform;
|
||||
import io.ebean.config.dbplatform.sqlserver.SqlServer17Platform;
|
||||
import io.ebeaninternal.dbmigration.migration.AlterColumn;
|
||||
import io.ebeaninternal.dbmigration.migration.IdentityType;
|
||||
import io.ebeaninternal.server.core.PlatformDdlBuilder;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -76,7 +75,7 @@ public class PlatformDdl_AlterColumnTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAlterColumnBaseAttributes() throws Exception {
|
||||
public void testAlterColumnBaseAttributes() {
|
||||
|
||||
AlterColumn alterColumn = alterNotNull();
|
||||
assertNull(h2Ddl.alterColumnBaseAttributes(alterColumn));
|
||||
@@ -117,7 +116,7 @@ public class PlatformDdl_AlterColumnTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAlterColumnType() throws Exception {
|
||||
public void testAlterColumnType() {
|
||||
|
||||
String sql = h2Ddl.alterColumnType("mytab", "acol", "varchar(20)");
|
||||
assertEquals("alter table mytab alter column acol varchar(20)", sql);
|
||||
@@ -139,7 +138,7 @@ public class PlatformDdl_AlterColumnTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAlterColumnNotnull() throws Exception {
|
||||
public void testAlterColumnNotnull() {
|
||||
|
||||
String sql = h2Ddl.alterColumnNotnull("mytab", "acol", true);
|
||||
assertEquals("alter table mytab alter column acol set not null", sql);
|
||||
@@ -161,7 +160,7 @@ public class PlatformDdl_AlterColumnTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAlterColumnNull() throws Exception {
|
||||
public void testAlterColumnNull() {
|
||||
|
||||
String sql = h2Ddl.alterColumnNotnull("mytab", "acol", false);
|
||||
assertEquals("alter table mytab alter column acol set null", sql);
|
||||
@@ -183,7 +182,7 @@ public class PlatformDdl_AlterColumnTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAlterColumnDefaultValue() throws Exception {
|
||||
public void testAlterColumnDefaultValue() {
|
||||
|
||||
String sql = h2Ddl.alterColumnDefaultValue("mytab", "acol", "'hi'");
|
||||
assertEquals("alter table mytab alter column acol set default 'hi'", sql);
|
||||
@@ -203,15 +202,14 @@ public class PlatformDdl_AlterColumnTest {
|
||||
boolean exceptionCaught = false;
|
||||
try {
|
||||
hanaDdl.alterColumnDefaultValue("mytab", "acol", "'hi'");
|
||||
}
|
||||
catch (UnsupportedOperationException e) {
|
||||
} catch (UnsupportedOperationException e) {
|
||||
exceptionCaught = true;
|
||||
}
|
||||
assertTrue(exceptionCaught);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAlterColumnDropDefault() throws Exception {
|
||||
public void testAlterColumnDropDefault() {
|
||||
|
||||
String sql = h2Ddl.alterColumnDefaultValue("mytab", "acol", "DROP DEFAULT");
|
||||
assertEquals("alter table mytab alter column acol drop default", sql);
|
||||
@@ -231,8 +229,7 @@ public class PlatformDdl_AlterColumnTest {
|
||||
boolean exceptionCaught = false;
|
||||
try {
|
||||
hanaDdl.alterColumnDefaultValue("mytab", "acol", "DROP DEFAULT");
|
||||
}
|
||||
catch (UnsupportedOperationException e) {
|
||||
} catch (UnsupportedOperationException e) {
|
||||
exceptionCaught = true;
|
||||
}
|
||||
assertTrue(exceptionCaught);
|
||||
@@ -241,49 +238,49 @@ public class PlatformDdl_AlterColumnTest {
|
||||
@Test
|
||||
public void useIdentityType_h2() {
|
||||
assertEquals(h2Ddl.useIdentityType(null), IdType.IDENTITY);
|
||||
assertEquals(h2Ddl.useIdentityType(IdentityType.SEQUENCE), IdType.SEQUENCE);
|
||||
assertEquals(h2Ddl.useIdentityType(IdentityType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(h2Ddl.useIdentityType(IdentityType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(h2Ddl.useIdentityType(IdentityType.EXTERNAL), IdType.EXTERNAL);
|
||||
assertEquals(h2Ddl.useIdentityType(IdType.SEQUENCE), IdType.SEQUENCE);
|
||||
assertEquals(h2Ddl.useIdentityType(IdType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(h2Ddl.useIdentityType(IdType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(h2Ddl.useIdentityType(IdType.EXTERNAL), IdType.EXTERNAL);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void useIdentityType_postgres() {
|
||||
assertEquals(pgDdl.useIdentityType(IdentityType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(pgDdl.useIdentityType(IdentityType.EXTERNAL), IdType.EXTERNAL);
|
||||
assertEquals(pgDdl.useIdentityType(IdType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(pgDdl.useIdentityType(IdType.EXTERNAL), IdType.EXTERNAL);
|
||||
|
||||
assertEquals(pgDdl.useIdentityType(null), IdType.IDENTITY);
|
||||
assertEquals(pgDdl.useIdentityType(IdentityType.SEQUENCE), IdType.SEQUENCE);
|
||||
assertEquals(pgDdl.useIdentityType(IdentityType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(pgDdl.useIdentityType(IdType.SEQUENCE), IdType.SEQUENCE);
|
||||
assertEquals(pgDdl.useIdentityType(IdType.IDENTITY), IdType.IDENTITY);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void useIdentityType_mysql() {
|
||||
|
||||
assertEquals(mysqlDdl.useIdentityType(null), IdType.IDENTITY);
|
||||
assertEquals(mysqlDdl.useIdentityType(IdentityType.SEQUENCE), IdType.IDENTITY);
|
||||
assertEquals(mysqlDdl.useIdentityType(IdentityType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(mysqlDdl.useIdentityType(IdentityType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(mysqlDdl.useIdentityType(IdentityType.EXTERNAL), IdType.EXTERNAL);
|
||||
assertEquals(mysqlDdl.useIdentityType(IdType.SEQUENCE), IdType.IDENTITY);
|
||||
assertEquals(mysqlDdl.useIdentityType(IdType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(mysqlDdl.useIdentityType(IdType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(mysqlDdl.useIdentityType(IdType.EXTERNAL), IdType.EXTERNAL);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void useIdentityType_oracle() {
|
||||
|
||||
assertEquals(oraDdl.useIdentityType(null), IdType.SEQUENCE);
|
||||
assertEquals(oraDdl.useIdentityType(IdentityType.SEQUENCE), IdType.SEQUENCE);
|
||||
assertEquals(oraDdl.useIdentityType(IdentityType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(oraDdl.useIdentityType(IdentityType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(oraDdl.useIdentityType(IdentityType.EXTERNAL), IdType.EXTERNAL);
|
||||
assertEquals(oraDdl.useIdentityType(IdType.SEQUENCE), IdType.SEQUENCE);
|
||||
assertEquals(oraDdl.useIdentityType(IdType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(oraDdl.useIdentityType(IdType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(oraDdl.useIdentityType(IdType.EXTERNAL), IdType.EXTERNAL);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void useIdentityType_hana() {
|
||||
|
||||
assertEquals(hanaDdl.useIdentityType(null), IdType.IDENTITY);
|
||||
assertEquals(hanaDdl.useIdentityType(IdentityType.SEQUENCE), IdType.IDENTITY);
|
||||
assertEquals(hanaDdl.useIdentityType(IdentityType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(hanaDdl.useIdentityType(IdentityType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(hanaDdl.useIdentityType(IdentityType.EXTERNAL), IdType.EXTERNAL);
|
||||
assertEquals(hanaDdl.useIdentityType(IdType.SEQUENCE), IdType.IDENTITY);
|
||||
assertEquals(hanaDdl.useIdentityType(IdType.IDENTITY), IdType.IDENTITY);
|
||||
assertEquals(hanaDdl.useIdentityType(IdType.GENERATOR), IdType.GENERATOR);
|
||||
assertEquals(hanaDdl.useIdentityType(IdType.EXTERNAL), IdType.EXTERNAL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
package io.ebeaninternal.dbmigration.model;
|
||||
|
||||
import io.ebean.annotation.IdentityGenerated;
|
||||
import io.ebean.config.dbplatform.IdType;
|
||||
import io.ebeaninternal.dbmigration.migration.CreateTable;
|
||||
import io.ebeaninternal.dbmigration.migration.IdentityType;
|
||||
import io.ebeaninternal.server.deploy.IdentityMode;
|
||||
import io.ebeaninternal.server.deploy.meta.DeployIdentityMode;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.math.BigInteger;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class MTableIdentityTest {
|
||||
|
||||
@Test
|
||||
public void toCreateTable() {
|
||||
|
||||
IdentityMode mode = new IdentityMode(IdType.SEQUENCE, IdentityGenerated.BY_DEFAULT, 11, 12, 13, "foo_seq");
|
||||
CreateTable tab = new CreateTable();
|
||||
MTableIdentity.toCreateTable(mode, tab);
|
||||
|
||||
assertEquals(BigInteger.valueOf(11), tab.getIdentityStart());
|
||||
assertEquals(BigInteger.valueOf(12), tab.getIdentityIncrement());
|
||||
assertEquals(BigInteger.valueOf(13), tab.getIdentityCache());
|
||||
assertEquals("foo_seq", tab.getSequenceName());
|
||||
assertEquals("by_default", tab.getIdentityGenerated());
|
||||
assertEquals(IdentityType.SEQUENCE, tab.getIdentityType());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void toCreateTable_when_auto() {
|
||||
|
||||
IdentityMode mode = new IdentityMode(IdType.AUTO, IdentityGenerated.AUTO, 11, 12, 13, "foo_seq");
|
||||
CreateTable tab = new CreateTable();
|
||||
MTableIdentity.toCreateTable(mode, tab);
|
||||
|
||||
assertNull(tab.getIdentityGenerated());
|
||||
assertNull(tab.getIdentityType());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void toCreateTable_when_PlatformDefault_expect_typeNull() {
|
||||
|
||||
DeployIdentityMode deploy = DeployIdentityMode.auto();
|
||||
deploy.setPlatformType(IdType.SEQUENCE);
|
||||
|
||||
CreateTable tab = new CreateTable();
|
||||
MTableIdentity.toCreateTable(new IdentityMode(deploy), tab);
|
||||
|
||||
assertNull(tab.getIdentityType());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void toCreateTable_when_notPlatformDefault_expectType() {
|
||||
|
||||
DeployIdentityMode deploy = DeployIdentityMode.auto();
|
||||
deploy.setIdType(IdType.SEQUENCE);
|
||||
|
||||
CreateTable tab = new CreateTable();
|
||||
MTableIdentity.toCreateTable(new IdentityMode(deploy), tab);
|
||||
|
||||
assertEquals(IdentityType.SEQUENCE, tab.getIdentityType());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void fromCreateTable_when_empty() {
|
||||
|
||||
CreateTable tab = new CreateTable();
|
||||
final IdentityMode mode = MTableIdentity.fromCreateTable(tab);
|
||||
assertEquals(IdType.AUTO, mode.getIdType());
|
||||
assertEquals(IdentityGenerated.AUTO, mode.getGenerated());
|
||||
assertEquals(0, mode.getStart());
|
||||
assertEquals(0, mode.getIncrement());
|
||||
assertEquals(0, mode.getCache());
|
||||
assertNull(mode.getSequenceName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fromCreateTable_when_allSet() {
|
||||
|
||||
CreateTable tab = new CreateTable();
|
||||
tab.setIdentityType(IdentityType.SEQUENCE);
|
||||
tab.setIdentityGenerated("always");
|
||||
tab.setSequenceName("foo_seq");
|
||||
tab.setIdentityStart(BigInteger.valueOf(5));
|
||||
tab.setIdentityIncrement(BigInteger.valueOf(7));
|
||||
tab.setIdentityCache(BigInteger.valueOf(9));
|
||||
|
||||
final IdentityMode mode = MTableIdentity.fromCreateTable(tab);
|
||||
assertEquals(IdType.SEQUENCE, mode.getIdType());
|
||||
assertEquals(IdentityGenerated.ALWAYS, mode.getGenerated());
|
||||
assertEquals(5, mode.getStart());
|
||||
assertEquals(7, mode.getIncrement());
|
||||
assertEquals(9, mode.getCache());
|
||||
assertEquals("foo_seq", mode.getSequenceName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fromCreateTable_expect_useNewPropertiesWin() {
|
||||
|
||||
CreateTable tab = new CreateTable();
|
||||
// old properties lose
|
||||
tab.setSequenceInitial(BigInteger.valueOf(42));
|
||||
tab.setSequenceAllocate(BigInteger.valueOf(43));
|
||||
|
||||
// new properties win
|
||||
tab.setIdentityStart(BigInteger.valueOf(5));
|
||||
tab.setIdentityIncrement(BigInteger.valueOf(7));
|
||||
|
||||
final IdentityMode mode = MTableIdentity.fromCreateTable(tab);
|
||||
assertEquals(5, mode.getStart());
|
||||
assertEquals(7, mode.getIncrement());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fromCreateTable_when_seqInitAndSeqAll() {
|
||||
|
||||
CreateTable tab = new CreateTable();
|
||||
tab.setSequenceInitial(BigInteger.valueOf(42));
|
||||
tab.setSequenceAllocate(BigInteger.valueOf(43));
|
||||
|
||||
final IdentityMode mode = MTableIdentity.fromCreateTable(tab);
|
||||
assertEquals(42, mode.getStart());
|
||||
assertEquals(43, mode.getIncrement());
|
||||
}
|
||||
}
|
||||
+3
@@ -2,6 +2,7 @@ package org.tests.compositekeys;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.Ebean;
|
||||
import io.ebean.annotation.Identity;
|
||||
import io.ebeaninternal.api.SpiEbeanServer;
|
||||
import io.ebeaninternal.server.deploy.BeanDescriptor;
|
||||
import io.ebeaninternal.server.deploy.BeanPropertyAssocMany;
|
||||
@@ -22,6 +23,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
@@ -89,6 +91,7 @@ public class TestOnCascadeDeleteChildrenWithCompositeKeys extends BaseTestCase {
|
||||
beanProperty.findIdsByParentId(1L, null, null, null, true);
|
||||
}
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@Entity
|
||||
@Table(name = "em_user")
|
||||
public static class User {
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
package org.tests.compositekeys.db;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
import io.ebean.annotation.IdentityGenerated;
|
||||
|
||||
import javax.persistence.EmbeddedId;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Version;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@Entity
|
||||
public class SubType {
|
||||
@EmbeddedId
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package org.tests.idkeys.db;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@Entity
|
||||
// Just let Ebean define Identity mechanism for testing across all DB types
|
||||
//@SequenceGenerator(name = "AD_SEQ_NAME", sequenceName = "AD_SEQ")
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
package org.tests.merge;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Entity
|
||||
public class MGroup {
|
||||
|
||||
@Id
|
||||
@Id @Identity(generated = BY_DEFAULT)
|
||||
private long id;
|
||||
|
||||
private String name;
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.tests.model.basic;
|
||||
|
||||
import io.ebean.Model;
|
||||
import io.ebean.annotation.Cache;
|
||||
import io.ebean.annotation.Identity;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
@@ -9,12 +10,14 @@ import javax.persistence.Table;
|
||||
import javax.persistence.Version;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Cache(enableQueryCache = true)
|
||||
@Entity
|
||||
@Table(name = "e_basicver")
|
||||
public class EBasicVer extends Model {
|
||||
|
||||
@Id
|
||||
@Id @Identity(generated = BY_DEFAULT)
|
||||
Integer id;
|
||||
|
||||
String name;
|
||||
|
||||
@@ -4,6 +4,7 @@ import io.ebean.annotation.Cache;
|
||||
import io.ebean.annotation.CacheQueryTuning;
|
||||
import io.ebean.annotation.CreatedTimestamp;
|
||||
import io.ebean.annotation.DocStore;
|
||||
import io.ebean.annotation.Identity;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
@@ -13,9 +14,12 @@ import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
/**
|
||||
* Product entity bean.
|
||||
*/
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@DocStore
|
||||
@Cache
|
||||
@CacheQueryTuning(maxSecsToLive = 15)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.tests.model.ddd;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
import org.tests.model.ivo.Oid;
|
||||
import org.tests.model.ivo.converter.AnEnumType;
|
||||
|
||||
@@ -8,6 +9,9 @@ import javax.persistence.Id;
|
||||
import javax.persistence.Version;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@Entity
|
||||
public class DExhEntity {
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.tests.model.draftable;
|
||||
|
||||
import io.ebean.Model;
|
||||
import io.ebean.annotation.Identity;
|
||||
import io.ebean.annotation.WhenCreated;
|
||||
import io.ebean.annotation.WhenModified;
|
||||
|
||||
@@ -9,6 +10,9 @@ import javax.persistence.MappedSuperclass;
|
||||
import javax.persistence.Version;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@MappedSuperclass
|
||||
public class BaseDomain extends Model {
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.tests.model.m2m;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
import org.tests.model.BaseModel;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
@@ -8,6 +9,9 @@ import javax.persistence.ManyToMany;
|
||||
import javax.persistence.ManyToOne;
|
||||
import java.util.List;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@Entity
|
||||
public class MnyB extends BaseModel {
|
||||
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package org.tests.model.m2m;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
import org.tests.model.BaseModel;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.ManyToMany;
|
||||
import java.util.List;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@Entity
|
||||
public class MnyC extends BaseModel {
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package org.tests.model.nofk;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.OneToMany;
|
||||
import java.util.List;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@Entity
|
||||
public class EUserNoFk {
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.tests.model.nofk;
|
||||
|
||||
import io.ebean.annotation.Formula;
|
||||
import io.ebean.annotation.Identity;
|
||||
import io.ebean.annotation.Platform;
|
||||
import io.ebean.annotation.SoftDelete;
|
||||
|
||||
@@ -9,6 +10,9 @@ import javax.persistence.Id;
|
||||
import javax.persistence.OneToMany;
|
||||
import java.util.List;
|
||||
|
||||
import static io.ebean.annotation.IdentityGenerated.BY_DEFAULT;
|
||||
|
||||
@Identity(generated = BY_DEFAULT)
|
||||
@Entity
|
||||
public class EUserNoFkSoftDel {
|
||||
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package org.tests.model.onetoone;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
import io.ebean.annotation.IdentityGenerated;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.OneToOne;
|
||||
import javax.persistence.PrimaryKeyJoinColumn;
|
||||
|
||||
@Identity(generated = IdentityGenerated.BY_DEFAULT)
|
||||
@Entity
|
||||
public class OtoBChild {
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package org.tests.model.onetoone;
|
||||
|
||||
import io.ebean.annotation.Identity;
|
||||
import io.ebean.annotation.IdentityGenerated;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Version;
|
||||
|
||||
@Identity(generated = IdentityGenerated.BY_DEFAULT)
|
||||
@Entity
|
||||
public class OtoPrimeExtra {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user