Dúvida no mapeamento de entidades @OneToOne

4 respostas
Guevara

Olá pessoal!

Estou na dúvida quanto ao mapeamento de duas entidades, tenho a classe Filme e a classe Gênero, a idéia é que um filme só terá um gênero, então preciso persistir alguns gêneros e no formulário do Filme terá um combobox populado com os gêneros do banco, ai quando for salvar um Filme é só escolher um gênero no combobox e persistir o Filme.

Seria um mapeamento @OneToOne ?

Classe Filme:

@Entity
public class Filme {
		
		@Id
		@GeneratedValue(strategy = GenerationType.IDENTITY)
		private Integer id;
		private Integer controle;
		private String nome;
		private String descricao;
		private Double duracao;
		private Integer ano;
		private Integer nota;
		
		@OneToOne(cascade=CascadeType.ALL)
		@PrimaryKeyJoinColumn
		public Genero getGenero() {
			return getGenero();
		}
//getters e setters

Classe Gênero:

@Entity
public class Genero {
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;
	private String nome;
//getters e setters

Abraço!

4 Respostas

thiago.correa

Isso, e no Gênero você terá um @ManyToOne para Filme

Guevara

Oi Thiago!

Seria assim:

@Entity
public class Genero {
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;
	private String nome;
	
	@ManyToOne
	@JoinColumn
	public Filme getFilme() {
		return getFilme();
	}
//getters e setters
thiago.correa

Não

@ManyToOne
public Set<File> getFilmes() {
    return filmes;
}
Guevara

Obrigado Thiago!
Vou testar aqui e depois retorno.
Abraço!

Criado 14 de abril de 2010
Ultima resposta 14 de abr. de 2010
Respostas 4
Participantes 2