mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Add First/Second/SuperSecond test
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user