Ola sou novo aqui então não sei se estou postando no lugar certo hehehe
estou com um problema em uma tablemodel que eu criei
da o seguinte erro
Exception Description: Error compiling the query [SELECT t.codigo FROM propriedade t]. Unknown abstract schema type [propriedade].
e no banco ta tudo certo…
agradeço desde ja
Abraços
abaixo vem os codigos
package dmp.tablemodelo;
import dmp.Propriedade;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;
import pst.PropriedadePST;
public class PropriedadeTableModel extends AbstractTableModel {
private PropriedadePST ppst = new PropriedadePST();
private List listacodigo;
private ArrayList<Propriedade> lista = new ArrayList();
/** Creates a new instance of PropriedadeTabela */
public PropriedadeTableModel() {
// try {
listacodigo = ppst.findAllPropriedades();
for (Iterator<Propriedade> it = listacodigo.iterator(); it.hasNext();) {
Propriedade object = it.next();
lista.add((Propriedade) ppst.FindAllPropriedades());
}
// } catch (Exception e) {
// JOptionPane.showMessageDialog(null,"Error --> "+ e.getMessage());
// }
}
public int getRowCount() {
return lista.size();
}
public int getColumnCount() {
return 8;
}
public Object getValueAt(int rowIndex, int columnIndex) {
if (columnIndex == 0) {
return lista.get(rowIndex).getCodigo();
} else if (columnIndex == 1) {
return lista.get(rowIndex).getNome();
} else if (columnIndex == 2) {
return lista.get(rowIndex).getIncra();
} else if (columnIndex == 3) {
return lista.get(rowIndex).getAreaTotal();
} else if (columnIndex == 4) {
return lista.get(rowIndex).getAreaPlantada();
} else if (columnIndex == 5) {
return lista.get(rowIndex).getAreaPerdida();
} else if (columnIndex == 6) {
return lista.get(rowIndex).getAreaCarreador();
} else if (columnIndex == 7) {
return lista.get(rowIndex).getCoordenadaX();
} else if (columnIndex == 8) {
return lista.get(rowIndex).getCoordenadaY();
}
return null;
}
}
package pst;
import dmp.Propriedade;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import java.util.List;
public class PropriedadePST {
private static EntityManagerFactory emf;
private EntityManager em;
public PropriedadePST() {
emf = Persistence.createEntityManagerFactory("SobralPU");
em = emf.createEntityManager();
}
public boolean addPropriedade(Propriedade p) {
boolean success = false;
em.getTransaction().begin();
try {
em.persist(p);
em.getTransaction().commit();
success = true;
} catch (Exception e) {
//TODO
// O CORRETO SERIA VOLTAR UMA EXCECAO
e.printStackTrace();
em.getTransaction().rollback();
}
return success;
}
public boolean updatePropriedade(Propriedade p) {
boolean success = false;
em.getTransaction().begin();
try {
findPropriedade(p.getCodigo());
em.merge(p);
em.flush();
em.getTransaction().commit();
success = true;
} catch (Exception e) {
//TODO
// O CORRETO SERIA VOLTAR UMA EXCECAO
e.printStackTrace();
em.getTransaction().rollback();
}
return success;
}
public boolean removePropriedade(Propriedade p) {
boolean success = false;
em.getTransaction().begin();
try {
p = findPropriedade(p.getCodigo());
em.remove(p);
em.getTransaction().commit();
success = true;
} catch (Exception e) {
//TODO
// O CORRETO SERIA VOLTAR UMA EXCECAO
e.printStackTrace();
em.getTransaction().rollback();
}
return success;
}
// Neste exemplo estou criando a query no proprio metodo
public Propriedade findPropriedade(Propriedade p) {
try {
Query query = em.createNamedQuery("Propriedade.findById").setParameter("CodigoPropridade", p.getCodigo());
p = (Propriedade) query.getSingleResult();
} catch (Exception e) {
System.err.println("Error findPropriedade --> " + e.getMessage());
}
return p;
}
// Neste exemplo estou utilizando uma query definda da classe Produto
public List<Propriedade> findAllPropriedades() {
Query query = em.createNamedQuery("Propriedade.findAll");
List<Propriedade> list = query.getResultList();
return list;
}
private Propriedade findPropriedade(Integer codigo) {
Propriedade p = new Propriedade();
try {
Query query = em.createNamedQuery("Propriedade.findByCodigo").setParameter("codigo", codigo);
p = (Propriedade) query.getSingleResult();
} catch (Exception e) {
System.err.println("Error findPropriedade --> " + e.getMessage());
}
return p;
}
public List<Propriedade> FindAllPropriedades() {
Query query = em.createQuery("SELECT t.codigo FROM propriedade t");
List<Propriedade> list = query.getResultList();
return list;
}
}
package dmp;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import java.util.Collection;
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.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Transient;
@Entity
@Table(name = “propriedade”)
@NamedQueries({@NamedQuery(name = “Propriedade.findByCodigo”, query = “SELECT p FROM Propriedade p WHERE p.codigo = :codigo”),
@NamedQuery(name = “Propriedade.findByNome”, query = “SELECT p FROM Propriedade p WHERE p.nome = :nome”),
@NamedQuery(name = “Propriedade.findByIncra”, query = “SELECT p FROM Propriedade p WHERE p.incra = :incra”),
@NamedQuery(name = “Propriedade.findByAreaTotal”, query = “SELECT p FROM Propriedade p WHERE p.areaTotal = :areaTotal”),
@NamedQuery(name = “Propriedade.findByAreaPlantada”, query = “SELECT p FROM Propriedade p WHERE p.areaPlantada = :areaPlantada”),
@NamedQuery(name = “Propriedade.findByAreaCarreador”, query = “SELECT p FROM Propriedade p WHERE p.areaCarreador = :areaCarreador”),
@NamedQuery(name = “Propriedade.findByCoordenadaX”, query = “SELECT p FROM Propriedade p WHERE p.coordenadaX = :coordenadaX”),
@NamedQuery(name = “Propriedade.findByCoordenadaY”, query = “SELECT p FROM Propriedade p WHERE p.coordenadaY = :coordenadaY”),
@NamedQuery(name = “Propriedade.findByAreaPerdida”, query = “SELECT p FROM Propriedade p WHERE p.areaPerdida = :areaPerdida”),
@NamedQuery(name = “Propriedade.findAll”, query=“SELECT p FROM Propriedade p”)})
public class Propriedade implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@Column(name = “codigo”, nullable = false)
@SequenceGenerator(name=“propriedade_codigo_seq”,sequenceName=“propriedade_codigo_seq”)
@GeneratedValue(generator=“propriedade_codigo_seq”,strategy=GenerationType.SEQUENCE)
private Integer codigo;
@Column(name = “nome”)
private String nome;
@Column(name = “incra”)
private String incra;
@Column(name = “area_total”)
private Double areaTotal;
@Column(name = “area_plantada”)
private Double areaPlantada;
@Column(name = “area_carreador”)
private Double areaCarreador;
@Column(name = “coordenada_x”)
private Double coordenadaX;
@Column(name = “coordenada_y”)
private Double coordenadaY;
@Column(name = “area_perdida”)
private Double areaPerdida;
@OneToMany(cascade=CascadeType.ALL,mappedBy = “codigoPropr”)
private Collection talhaoCollection;
public Propriedade() {
}
public Propriedade(Integer codigo) {
this.codigo = codigo;
}
public Integer getCodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
Integer oldCodigo = this.codigo;
this.codigo = codigo;
changeSupport.firePropertyChange("codigo", oldCodigo, codigo);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
String oldNome = this.nome;
this.nome = nome;
changeSupport.firePropertyChange("nome", oldNome, nome);
}
public String getIncra() {
return incra;
}
public void setIncra(String incra) {
String oldIncra = this.incra;
this.incra = incra;
changeSupport.firePropertyChange("incra", oldIncra, incra);
}
public Double getAreaTotal() {
return areaTotal;
}
public void setAreaTotal(Double areaTotal) {
Double oldAreaTotal = this.areaTotal;
this.areaTotal = areaTotal;
changeSupport.firePropertyChange("areaTotal", oldAreaTotal, areaTotal);
}
public Double getAreaPlantada() {
return areaPlantada;
}
public void setAreaPlantada(Double areaPlantada) {
Double oldAreaPlantada = this.areaPlantada;
this.areaPlantada = areaPlantada;
changeSupport.firePropertyChange("areaPlantada", oldAreaPlantada, areaPlantada);
}
public Double getAreaCarreador() {
return areaCarreador;
}
public void setAreaCarreador(Double areaCarreador) {
Double oldAreaCarreador = this.areaCarreador;
this.areaCarreador = areaCarreador;
changeSupport.firePropertyChange("areaCarreador", oldAreaCarreador, areaCarreador);
}
public Double getCoordenadaX() {
return coordenadaX;
}
public void setCoordenadaX(Double coordenadaX) {
Double oldCoordenadaX = this.coordenadaX;
this.coordenadaX = coordenadaX;
changeSupport.firePropertyChange("coordenadaX", oldCoordenadaX, coordenadaX);
}
public Double getCoordenadaY() {
return coordenadaY;
}
public void setCoordenadaY(Double coordenadaY) {
Double oldCoordenadaY = this.coordenadaY;
this.coordenadaY = coordenadaY;
changeSupport.firePropertyChange("coordenadaY", oldCoordenadaY, coordenadaY);
}
public Double getAreaPerdida() {
return areaPerdida;
}
public void setAreaPerdida(Double areaPerdida) {
Double oldAreaPerdida = this.areaPerdida;
this.areaPerdida = areaPerdida;
changeSupport.firePropertyChange("areaPerdida", oldAreaPerdida, areaPerdida);
}
public Collection<Talhao> getTalhaoCollection() {
return talhaoCollection;
}
public void setTalhaoCollection(Collection<Talhao> talhaoCollection) {
this.talhaoCollection = talhaoCollection;
}
@Override
public int hashCode() {
int hash = 0;
hash += (codigo != null ? codigo.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 Propriedade)) {
return false;
}
Propriedade other = (Propriedade) object;
if ((this.codigo == null && other.codigo != null) || (this.codigo != null && !this.codigo.equals(other.codigo))) {
return false;
}
return true;
}
@Override
public String toString() {
return nome ;
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
changeSupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
changeSupport.addPropertyChangeListener(listener);
}
}