Add additional test for PrimaryKeyJoinColumn

This commit is contained in:
rbygrave
2021-05-23 22:21:05 +12:00
parent 01bce5cfa6
commit 4c317f11ae
3 changed files with 114 additions and 0 deletions
@@ -0,0 +1,46 @@
package org.tests.model.onetoone.calcd;
import io.ebean.Model;
import io.ebean.annotation.ConstraintMode;
import io.ebean.annotation.DbForeignKey;
import javax.persistence.*;
@Entity
@Table(name = "calcd_data")
public class CalcDData extends Model {
@Id
private Integer id;
@OneToOne(optional = false, cascade = CascadeType.ALL)
@DbForeignKey(onDelete = ConstraintMode.CASCADE)
@PrimaryKeyJoinColumn//(name = "Id", referencedColumnName = "Id")
private CalcDInput input;
private final String name;
public CalcDData(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public CalcDInput getInput() {
return input;
}
public void setInput(CalcDInput input) {
this.input = input;
}
public String getName() {
return name;
}
}
@@ -0,0 +1,42 @@
package org.tests.model.onetoone.calcd;
import io.ebean.Model;
import javax.persistence.*;
@Entity
@Table(name = "calcd_input")
public class CalcDInput extends Model {
@Id
private Integer id;
@OneToOne(optional = false, fetch = FetchType.EAGER, orphanRemoval = true, mappedBy = "input")
private CalcDData data;
private final String name;
public CalcDInput(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public CalcDData getData() {
return data;
}
public void setData(CalcDData data) {
this.data = data;
}
}
@@ -0,0 +1,26 @@
package org.tests.model.onetoone.calcd;
import io.ebean.DB;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class TestOneToOnePrimaryKeyJoinMapping {
@Test
public void test() {
CalcDInput inputs = new CalcDInput("input0");
CalcDData data = new CalcDData("data0");
inputs.setData(data);
inputs.save();
CalcDInput found = DB.find(CalcDInput.class, inputs.getId());
assertThat(found).isNotNull();
assertThat(found.getName()).isEqualTo("input0");
assertThat(found.getData().getName()).isEqualTo("data0");
}
}