mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-11-03 08:24:23 +00:00
#849 - AbstractNamingConvention.getTableName inheritance logic differs from InheritInfo
This commit is contained in:
1 parent
41a860ebb9
commit
259814f4d9
5 files changed
+58
-17
No files matched your search
@@ -6,6 +6,7 @@ import com.avaje.ebean.bean.BeanCollection.ModifyListenMode;
|
||||
import com.avaje.ebean.common.BeanList;
|
||||
import com.avaje.tests.model.basic.Animal;
|
||||
import com.avaje.tests.model.basic.AnimalShelter;
|
||||
import com.avaje.tests.model.basic.BigDog;
|
||||
import com.avaje.tests.model.basic.Cat;
|
||||
import com.avaje.tests.model.basic.Dog;
|
||||
import org.junit.Test;
|
||||
@@ -18,31 +19,36 @@ public class TestInheritanceOnMany extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
|
||||
Cat cat = new Cat();
|
||||
cat.setName("Puss");
|
||||
Ebean.save(cat);
|
||||
|
||||
|
||||
Dog dog = new Dog();
|
||||
dog.setRegistrationNumber("DOGGIE");
|
||||
Ebean.save(dog);
|
||||
|
||||
|
||||
BigDog bd = new BigDog();
|
||||
bd.setDogSize("large");
|
||||
bd.setRegistrationNumber("BG1");
|
||||
Ebean.save(bd);
|
||||
|
||||
AnimalShelter shelter = new AnimalShelter();
|
||||
shelter.setName("My Animal Shelter");
|
||||
shelter.getAnimals().add(cat);
|
||||
shelter.getAnimals().add(dog);
|
||||
|
||||
|
||||
Ebean.save(shelter);
|
||||
|
||||
|
||||
AnimalShelter shelter2 = Ebean.find(AnimalShelter.class, shelter.getId());
|
||||
List<Animal> animals = shelter2.getAnimals();
|
||||
|
||||
|
||||
BeanList<?> beanList = (BeanList<?>)animals;
|
||||
ModifyListenMode modifyListenMode = beanList.getModifyListenMode();
|
||||
|
||||
|
||||
assertNotNull(modifyListenMode);
|
||||
|
||||
assertNotNull(Ebean.find(Animal.class).findList());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -7,11 +7,9 @@ import javax.persistence.Id;
|
||||
import javax.persistence.Inheritance;
|
||||
import javax.persistence.InheritanceType;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Version;
|
||||
|
||||
@Entity
|
||||
@Table(name = "animals")
|
||||
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
|
||||
@DiscriminatorColumn(name = "species")
|
||||
public abstract class Animal {
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.avaje.tests.model.basic;
|
||||
|
||||
import javax.persistence.DiscriminatorValue;
|
||||
import javax.persistence.Entity;
|
||||
|
||||
@Entity
|
||||
@DiscriminatorValue("BDG")
|
||||
public class BigDog extends Dog {
|
||||
|
||||
String dogSize;
|
||||
|
||||
public String getDogSize() {
|
||||
return dogSize;
|
||||
}
|
||||
|
||||
public void setDogSize(String dogSize) {
|
||||
this.dogSize = dogSize;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user