Mapeamente Hibernate

2 respostas
ccefetpb

Alguem pode me explicar por que esse mapeamente não esta dando certo :

@Entity(name="usuario")
public class Usuario {
	@Id
	private String login;
	private String senha;
	
	@OneToOne
	@Column(name="idcliente",unique=true)
	@Cascade(CascadeType.ALL)
	private Cliente cliente;
	
	public void setLogin(String login) {
		this.login = login;
	}
	public String getLogin() {
		return login;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
	public String getSenha() {
		return senha;
	}
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	public Cliente getCliente() {
		return cliente;
	}

}

@Entity(name="cliente")
public class Cliente {
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="idcliente")
	private Integer id;
	private String nome;
	
	private String telefone;
	private String email;
	
	private Character assinante;

	@OneToMany(mappedBy="cliente" , fetch=FetchType.EAGER)
	@Cascade(CascadeType.ALL)
	List<Anuncio> anuncios;
	
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Character getAssinante() {
		return assinante;
	}

	public void setAssinante(Character assinante) {
		this.assinante = assinante;
	}
	
	
	
}

Eu queria que o usuario apontasse para um cliente mas não quero o cliente aponte para o usuario.
A tabela usuario vai ficar assim :

create table usuario (
  login varchar(30) ,
  senha varchar(30) ,
  idcliente int(11) ,
  primary key(login) ,
  foreign key (idcliente) references cliente(idcliente)
);

Ja tentei trocar o one to one , por many to one , one to many mas insiste em dar errado.
Se o mapeamento estiver correto.

Alguem sabe qual o erro ?

2 Respostas

L

Já tentou usar um @ManyToOne de cliente para usuario,
e nao mapear nada no usuario?

ccefetpb

Obg pela resposta , infelizmente n posso fazer isso , o usuario tem que apontar pro cliente e n o contrario , na verdade isso e uma gambiarra que fiz pra evitar mecher em todas as classes que usam cliente.

Criado 9 de março de 2010
Ultima resposta 9 de mar. de 2010
Respostas 2
Participantes 2