mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#1497 - SQL Error with @History + @SoftDelete + @OneToOne fetch=FetchType.EAGER
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package org.tests.model.history;
|
||||
|
||||
import io.ebean.annotation.History;
|
||||
import io.ebean.annotation.SoftDelete;
|
||||
import org.tests.model.draftable.BaseDomain;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.OneToOne;
|
||||
|
||||
@History
|
||||
@Entity
|
||||
public class HsdSetting extends BaseDomain {
|
||||
|
||||
String key;
|
||||
String val;
|
||||
|
||||
@SoftDelete
|
||||
boolean deleted;
|
||||
|
||||
@OneToOne
|
||||
private HsdUser user;
|
||||
|
||||
|
||||
public HsdSetting(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public HsdSetting() {
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
public void setKey(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public String getVal() {
|
||||
return val;
|
||||
}
|
||||
|
||||
public void setVal(String val) {
|
||||
this.val = val;
|
||||
}
|
||||
|
||||
public boolean isDeleted() {
|
||||
return deleted;
|
||||
}
|
||||
|
||||
public void setDeleted(boolean deleted) {
|
||||
this.deleted = deleted;
|
||||
}
|
||||
|
||||
public HsdUser getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(HsdUser user) {
|
||||
this.user = user;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package org.tests.model.history;
|
||||
|
||||
import io.ebean.annotation.History;
|
||||
import io.ebean.annotation.SoftDelete;
|
||||
import org.tests.model.draftable.BaseDomain;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.OneToOne;
|
||||
|
||||
@History
|
||||
@Entity
|
||||
public class HsdUser extends BaseDomain {
|
||||
|
||||
String name;
|
||||
|
||||
@SoftDelete
|
||||
boolean deleted;
|
||||
|
||||
@OneToOne(mappedBy = "user", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
|
||||
HsdSetting setting;
|
||||
|
||||
public HsdUser(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public HsdUser() {
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public boolean isDeleted() {
|
||||
return deleted;
|
||||
}
|
||||
|
||||
public void setDeleted(boolean deleted) {
|
||||
this.deleted = deleted;
|
||||
}
|
||||
|
||||
public HsdSetting getSetting() {
|
||||
return setting;
|
||||
}
|
||||
|
||||
public void setSetting(HsdSetting setting) {
|
||||
this.setting = setting;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package org.tests.model.history;
|
||||
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.Ebean;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class TestHistorySoftDeleteOneToOne extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void findOne() {
|
||||
|
||||
HsdUser u1 = new HsdUser("u1");
|
||||
|
||||
Ebean.save(u1);
|
||||
Ebean.delete(u1);
|
||||
|
||||
HsdUser one = Ebean.find(HsdUser.class)
|
||||
.setId(u1.getId())
|
||||
.setIncludeSoftDeletes()
|
||||
.findOne();
|
||||
|
||||
assertThat(one).isNotNull();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user