Add First/Second/SuperSecond test

This commit is contained in:
rbygrave
2014-10-29 00:07:25 +13:00
parent 7426274ef6
commit c99bec4940
4 changed files with 129 additions and 0 deletions
@@ -0,0 +1,45 @@
package com.avaje.tests.model.basic.first;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name = "f_first")
public class First {
@Id
Long id;
String name;
@OneToOne(mappedBy = "first", cascade = CascadeType.ALL)
Second second;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Second getSecond() {
return second;
}
public void setSecond(Second second) {
this.second = second;
}
}
@@ -0,0 +1,32 @@
package com.avaje.tests.model.basic.first;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "f_second")
public class Second extends SuperSecond {
@Id
Long id;
String title;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
@@ -0,0 +1,23 @@
package com.avaje.tests.model.basic.first;
import javax.persistence.CascadeType;
import javax.persistence.JoinColumn;
import javax.persistence.MappedSuperclass;
import javax.persistence.OneToOne;
@MappedSuperclass
public abstract class SuperSecond {
@OneToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "first")
protected First first;
public First getFirst() {
return first;
}
public void setFirst(First first) {
this.first = first;
}
}
@@ -0,0 +1,29 @@
package com.avaje.tests.model.basic.first;
import org.junit.Test;
import com.avaje.ebean.BaseTestCase;
import com.avaje.ebean.Ebean;
public class TestFirstSecond extends BaseTestCase {
@Test
public void test() {
First first = new First();
first.setName("first");
Ebean.save(first);
Second second = new Second();
second.setTitle("John");
second.setFirst(first);
Ebean.save(second);
second.getFirst().setName("changed");
Ebean.save(second);
Ebean.save(first);
}
}