Duvidas com @OneToMany

2 respostas
dahenz

Bom dia!

Estou fazendo um relacionamento @OneToMany como no exemplo abaixo:

Nesses relacionamentos eu tenho que passar no name do JoinColumn o nome do campo da tabela que irá receber vinculado ao bean em questao?

@Entity
@Table (name="objetos_perfil_web")
public class ObjetosPerfilBean {

	@Id @GeneratedValue
	private Long id;
	@OneToOne
	@JoinColumn(name="perfil_web_id")
	private PerfilBean perfil;
	@OneToMany
	@JoinColumn(name="id")
	private List<ObjetoBean> objeto;

Tabela mapeada ao bean acima.

CREATE TABLE `objetos_perfil_web` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `objeto_web_id` mediumint(8) unsigned NOT NULL,
  `perfil_web_id` mediumint(8) unsigned NOT NULL,
  PRIMARY KEY  (`id`,`objeto_web_id`,`perfil_web_id`),
  KEY `objetos_perfil_web_FKIndex1` (`objeto_web_id`),
  KEY `objetos_perfil_web_FKIndex2` (`perfil_web_id`),
  KEY `id` (`id`),
  KEY `perfil_web_id` (`perfil_web_id`),
  KEY `objeto_web_id` (`objeto_web_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
public class ObjetoBean {

	@Id @GeneratedValue
	private Long id;	
	private String descricao;

       getters and setters
}
CREATE TABLE `objetos_perfil_web` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `objeto_web_id` mediumint(8) unsigned NOT NULL,
  `perfil_web_id` mediumint(8) unsigned NOT NULL,
  PRIMARY KEY  (`id`,`objeto_web_id`,`perfil_web_id`),
  KEY `objetos_perfil_web_FKIndex1` (`objeto_web_id`),
  KEY `objetos_perfil_web_FKIndex2` (`perfil_web_id`),
  KEY `id` (`id`),
  KEY `perfil_web_id` (`perfil_web_id`),
  KEY `objeto_web_id` (`objeto_web_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Quanto ao persistir em banco, sem problemas, mas mostra o valor zero para o relacionamento OneToMany......

Alguém sabe como resolver????

2 Respostas

dahenz

Alguém passou por isso??

arthurminarini

use o mappedby ao inves de joincolum para onetomany

Criado 18 de março de 2009
Ultima resposta 19 de mar. de 2009
Respostas 2
Participantes 2