mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#533 - DDL - Invalid foreign key constraint name for @ManyToMany when using explicit schema in @Table - Temp testing
This commit is contained in:
@@ -18,9 +18,9 @@ public class TestM2MVanilla extends BaseTestCase {
|
||||
@Test
|
||||
public void testVanilla() {
|
||||
|
||||
SqlUpdate delInt = Ebean.createSqlUpdate("delete from mrole_muser");
|
||||
SqlUpdate delRoles = Ebean.createSqlUpdate("delete from mrole");
|
||||
SqlUpdate delUsers = Ebean.createSqlUpdate("delete from muser");
|
||||
SqlUpdate delInt = Ebean.createSqlUpdate("delete from mys.mrole_muser");
|
||||
SqlUpdate delRoles = Ebean.createSqlUpdate("delete from mys.mrole");
|
||||
SqlUpdate delUsers = Ebean.createSqlUpdate("delete from mys.muser");
|
||||
|
||||
Ebean.execute(delInt);
|
||||
Ebean.execute(delRoles);
|
||||
|
||||
@@ -1,95 +1,88 @@
|
||||
package com.avaje.tests.model.basic;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.ManyToMany;
|
||||
import javax.persistence.Table;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
@Table(name = "mrole", schema = "mys")
|
||||
public class MRole {
|
||||
|
||||
@Id
|
||||
Integer roleid;
|
||||
|
||||
String roleName;
|
||||
@Id
|
||||
Integer roleid;
|
||||
|
||||
@ManyToMany(cascade=CascadeType.ALL
|
||||
// @JoinTable(name="myint_table"//,
|
||||
// joinColumns={
|
||||
// @JoinColumn(name="mroleid", referencedColumnName="roleid")
|
||||
// }//,
|
||||
// inverseJoinColumns={
|
||||
// @JoinColumn(name = "muserid", referencedColumnName="userid")
|
||||
// }
|
||||
|
||||
)
|
||||
List<MUser> users;
|
||||
|
||||
public MRole() {
|
||||
|
||||
String roleName;
|
||||
|
||||
@ManyToMany(cascade = CascadeType.ALL)
|
||||
List<MUser> users;
|
||||
|
||||
public MRole() {
|
||||
|
||||
}
|
||||
|
||||
public MRole(String roleName) {
|
||||
this.roleName = roleName;
|
||||
}
|
||||
|
||||
public Integer getRoleid() {
|
||||
return roleid;
|
||||
}
|
||||
|
||||
public void setRoleid(Integer roleid) {
|
||||
this.roleid = roleid;
|
||||
}
|
||||
|
||||
public String getRoleName() {
|
||||
return roleName;
|
||||
}
|
||||
|
||||
public void setRoleName(String roleName) {
|
||||
this.roleName = roleName;
|
||||
}
|
||||
|
||||
public List<MUser> getUsers() {
|
||||
return users;
|
||||
}
|
||||
|
||||
public void setUsers(List<MUser> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MRole [roleName=" + roleName + "]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public MRole(String roleName) {
|
||||
this.roleName = roleName;
|
||||
|
||||
// Make sure other is not null and has the same class as this
|
||||
if (other != null && getClass().equals(other.getClass())) {
|
||||
final MRole rhs = (MRole) other;
|
||||
if (roleid.equals(rhs.roleid)) {
|
||||
if (roleid == 0) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Integer getRoleid() {
|
||||
return roleid;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void setRoleid(Integer roleid) {
|
||||
this.roleid = roleid;
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
if (roleid != null && roleid != 0) {
|
||||
int rid = roleid;
|
||||
return (int) (rid ^ (rid >>> 32));
|
||||
}
|
||||
return super.hashCode();
|
||||
}
|
||||
|
||||
public String getRoleName() {
|
||||
return roleName;
|
||||
}
|
||||
|
||||
public void setRoleName(String roleName) {
|
||||
this.roleName = roleName;
|
||||
}
|
||||
|
||||
public List<MUser> getUsers() {
|
||||
return users;
|
||||
}
|
||||
|
||||
public void setUsers(List<MUser> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MRole [roleName=" + roleName + "]";
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (this == other){
|
||||
return true;
|
||||
}
|
||||
|
||||
// Make sure other is not null and has the same class as this
|
||||
if (other != null && getClass().equals(other.getClass())){
|
||||
final MRole rhs = (MRole)other;
|
||||
if ( roleid.equals(rhs.roleid)){
|
||||
if (roleid == 0){
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
if (roleid != null && roleid != 0){
|
||||
int rid = roleid;
|
||||
return (int)( rid ^ (rid >>> 32) );
|
||||
}
|
||||
return super.hashCode();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import java.util.List;
|
||||
import javax.persistence.*;
|
||||
|
||||
@Entity
|
||||
@Table(name="muser", schema = "mys")
|
||||
public class MUser {
|
||||
|
||||
@Id
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.avaje.tests.model.basic;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name="muser_type", schema = "mys")
|
||||
public class MUserType {
|
||||
|
||||
@Id
|
||||
|
||||
@@ -56,8 +56,8 @@ public class TestManyWhereJoinM2M extends BaseTestCase {
|
||||
|
||||
String sql = query.getGeneratedSql();
|
||||
Assert.assertTrue(sql.contains("select distinct"));
|
||||
Assert.assertTrue(sql.contains("left outer join mrole "));
|
||||
Assert.assertTrue(sql.contains("join mrole "));
|
||||
Assert.assertTrue(sql.contains("left outer join mys.mrole "));
|
||||
Assert.assertTrue(sql.contains("join mys.mrole "));
|
||||
Assert.assertTrue(sql.contains(".role_name = ?"));
|
||||
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ public class TestDisjunctWhereOuterJoin extends BaseTestCase {
|
||||
|
||||
String sql = query.getGeneratedSql();
|
||||
Assert.assertTrue(sql.contains("select distinct"));
|
||||
Assert.assertTrue(sql.contains("outer join mrole "));
|
||||
Assert.assertTrue(sql.contains("outer join mys.mrole "));
|
||||
Assert.assertTrue(sql.contains(".role_name = ?"));
|
||||
|
||||
} finally {
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
datasource.h2.username=sa
|
||||
datasource.h2.username=sa
|
||||
|
||||
ebean.ddl.initSql=init.sql
|
||||
Reference in New Issue
Block a user