[jbosstools-issues] [JBoss JIRA] (JBIDE-26458) Import Entities from DB with ManyToMany relationships doesn't manage mappedBy

Matt B (Jira) issues at jboss.org
Mon Oct 29 11:51:00 EDT 2018


Matt B created JBIDE-26458:
------------------------------

             Summary: Import Entities from DB with ManyToMany relationships doesn't manage mappedBy
                 Key: JBIDE-26458
                 URL: https://issues.jboss.org/browse/JBIDE-26458
             Project: Tools (JBoss Tools)
          Issue Type: Bug
          Components: hibernate
    Affects Versions: 4.6.0.Final
         Environment: Eclipse: Oxygen.3a Release (4.7.3a) Build id: 20180405-1200
DBMS: Sql Anywhere 17.0.9.4857
Annotations jdk 1.5+
Hibernate Version 5.2

            Reporter: Matt B


Import from entities tool does not correctly handle the bidirectional ManyToMany relationships because in some cases it does not define mappedBy on one side.

example:
public class SecGroup implements java.io.Serializable {
....
	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "SecGroupUser", schema = "dbm", joinColumns = {
			@JoinColumn(name = "GroupId", nullable = false, updatable = false) }, inverseJoinColumns = {
					@JoinColumn(name = "UserId", nullable = false, updatable = false) })
	public Set<SsUsers> getSsUserses() {
		return this.ssUserses;
	}
....
}




public class SsUsers implements java.io.Serializable {
...
	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "SecGroupUser", schema = "dbm", joinColumns = {
			@JoinColumn(name = "UserId", nullable = false, updatable = false) }, inverseJoinColumns = {
					@JoinColumn(name = "GroupId", nullable = false, updatable = false) })
	public Set<SecGroup> getSecGroups() {
		return this.secGroups;
	}
...
}

It must be for example

public class SecGroup implements java.io.Serializable {
....
	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "secGroups")
	public Set<SsUsers> getSsUserses() {
		return this.ssUserses;
	}
....
}

public class SsUsers implements java.io.Serializable {
...
	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "SecGroupUser", schema = "dbm", joinColumns = {
			@JoinColumn(name = "UserId", nullable = false, updatable = false) }, inverseJoinColumns = {
					@JoinColumn(name = "GroupId", nullable = false, updatable = false) })
	public Set<SecGroup> getSecGroups() {
		return this.secGroups;
	}
...
}




--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jbosstools-issues mailing list