Bom dia/tarde/noite/eclipse/netbeans/outros
Estou com uma duvida de mapeamento e não encontrei nada que pudesse me ajudar
Preciso mapear um relacionamento entre 3 entidades, com um único objeto de resolução.
Gostaria de saber se há uma forma de fazer esse relacionamento Many-To-Many apenas com Annotations, ou se é preciso criar um objeto de resolução e fazer vários relacionamentos One-To-Many.
Agradeço pela atenção.
[size=18]Classes:[/size]
Grupo
@Entity(name="Grupo")
@Table(name="grupo")
public class Grupo implements java.io.Serializable{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="cdGrupo")
private long id;
@Column(name="nmGrupo")
private String nome;
//Construtores e métodos
}
Pagina
@Entity(name="Pagina")
@Table(name="pagina")
public class Pagina implements java.io.Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="cdPagina")
private long id;
@Column(name="nmUrl")
private String url;
//Construtores e métodos
}
Menu
@Entity(name="Menu")
@Table(name="menu")
public class Menu implements java.io.Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="cdMenu")
private long id;
@ManyToOne
@JoinColumn(name="cdSubMenu")
private Menu menuSuperior;
@Column(name="nmMenu")
private String nome;
//Construtores e métodos
}
[size=18] Banco de Dados[/size]
CREATE TABLE 'grupo' (
'cdGrupo' int(10) unsigned NOT NULL auto_increment,
'nmGrupo' varchar(25) NOT NULL,
PRIMARY KEY ('cdGrupo'))
CREATE TABLE 'pagina' (
'cdPagina' bigint(20) NOT NULL auto_increment,
'nmUrl' varchar(255) NOT NULL,
PRIMARY KEY ('cdPagina'))
CREATE TABLE 'menu' (
'cdMenu' bigint(20) NOT NULL auto_increment,
'cdSubMenu' bigint(20) NOT NULL,
'nmMenu' varchar(25) NOT NULL,
PRIMARY KEY ('cdMenu'),
KEY 'menu_FKIndex1' ('cdSubMenu'))
CREATE TABLE `grupoMenuPagina` (
'cdGrupo' int(10) unsigned NOT NULL,
'cdPagina' bigint(20) NOT NULL,
'cdMenu' bigint(20) NOT NULL,
PRIMARY KEY ('cdGrupo','cdPagina','cdMenu'),
KEY 'grupoMenuPagina_FKIndex1' ('cdGrupo'),
KEY 'grupoMenuPagina_FKIndex2' ('cdMenu'),
KEY 'grupoMenuPagina_FKIndex3' ('cdPagina'))