Sou novo aqui e não sei trabalhar com Java, mas de metido que sou estou tentando fazer um sistema bem básico com JPA. Eu criei as tabelas, as classes mapeadas e tal, só que assim, tenho uma classe “pessoas”, e uma classe “usuarios” que possui como chave estrangeira o atributo codpessoas. Queria fazer uma consulta pelo código da pessoa na tabela de usuários, mas não consegui fazer funcionar. (Se já existe tópico semelhante me desculpem, mas garimpei e não achei nada, por isso resolvi escrever)
Segue a classe:
[code]package com.perfect2.sistema.model;
import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
*
-
@author alan.malbos
*/
@Entity
@Table(name = “usuario”)
@NamedQueries({
@NamedQuery(name = “Usuario.findAll”, query = “SELECT u FROM Usuario u”),
@NamedQuery(name = “Usuario.findByUserAndSenha”, query = “SELECT u FROM Usuario u WHERE u.senhauser = :senhauser AND u.nomeuser = :nomeuser”),
@NamedQuery(name = “Usuario.findUsuarioByPessoa”, query = “SELECT c FROM Usuario c WHERE c.codpessoa = :codpessoa”)})
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = “coduser”, nullable = false)
private Long coduser;
@Basic(optional = false)
@Column(name = “nomeuser”, nullable = false, length = 50)
private String nomeuser;
@Basic(optional = false)
@Column(name = “senhauser”, nullable = false, length = 50)
private String senhauser;
@JoinColumn(name = “codpessoa”, referencedColumnName = “codpessoa”, nullable = false)
@ManyToOne(optional = false)
private Pessoas pessoas;
@OneToMany(cascade = CascadeType.ALL, mappedBy = “usuario”)
private Collection pedidoCollection;public Usuario() {
}public Usuario(Long coduser) {
this.coduser = coduser;
}public Usuario(Long coduser, String nomeuser, String senhauser) {
this.coduser = coduser;
this.nomeuser = nomeuser;
this.senhauser = senhauser;
}public Long getCoduser() {
return coduser;
}public void setCoduser(Long coduser) {
this.coduser = coduser;
}public String getNomeuser() {
return nomeuser;
}public void setNomeuser(String nomeuser) {
this.nomeuser = nomeuser;
}public String getSenhauser() {
return senhauser;
}public void setSenhauser(String senhauser) {
this.senhauser = senhauser;
}public Collection getPedidoCollection() {
return pedidoCollection;
}public void setPedidoCollection(Collection pedidoCollection) {
this.pedidoCollection = pedidoCollection;
}@Override
public int hashCode() {
int hash = 0;
hash += (coduser != null ? coduser.hashCode() : 0);
return hash;
}@Override
public boolean equals(Object object) {
// TODO: Warning - this method won’t work in the case the id fields are not set
if (!(object instanceof Usuario)) {
return false;
}
Usuario other = (Usuario) object;
if ((this.coduser == null && other.coduser != null) || (this.coduser != null && !this.coduser.equals(other.coduser))) {
return false;
}
return true;
}@Override
public String toString() {
return “com.perfect2.sistema.model.Usuario[coduser=” + coduser + “]”;
}public Pessoas getCodpessoa() {
return pessoas;
}public void setCodpessoa(Pessoas codpessoa) {
this.pessoas = codpessoa;
}/**
-
@return the pessoas
*/
public Pessoas getPessoas() {
return pessoas;
}
/**
-
@param pessoas the pessoas to set
*/
public void setPessoas(Pessoas pessoas) {
this.pessoas = pessoas;
}
-
@return the pessoas
}[/code]
(Desculpa ai se não aceitei a tag do código! kkk)