#2157 - ManyToMany mapping to itself results in broken generated SQL DDL when not defining @JoinTable.

This commit is contained in:
rob bygrave committed 2021-02-12 22:17:04 +13:00
1 parent 213562fcf1
commit b56d68dac7
3 files changed
+63 -5

No files matched your search

@@ -0,0 +1,40 @@
package org.tests.model.interfaces;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import java.util.List;
@Entity
public class SelfManyMany {
@Id
private long id;
private final String name;
@ManyToMany
// requires explicit @JoinTable
@JoinTable(name = "self_many_bridge",
joinColumns = @JoinColumn(name = "self_1_id"),
inverseJoinColumns = @JoinColumn(name = "self_2_id"))
private List<SelfManyMany> related;
public SelfManyMany(String name) {
this.name = name;
}
public long getId() {
return id;
}
public String getName() {
return name;
}
public List<SelfManyMany> getRelated() {
return related;
}
}
@@ -0,0 +1,15 @@
package org.tests.model.interfaces;
import io.ebean.BaseTestCase;
import io.ebean.DB;
import org.junit.Test;
public class TestSelfMany extends BaseTestCase {
@Test
public void self_manyToMany() {
SelfManyMany m = new SelfManyMany("1");
DB.save(m);
}
}