Tenho esta classe:
@Entity
@Table(name = "clientes")
public class ClientesMOD {
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@Column(name = "nome", length = 50)
private String nome;
@Column(name = "endereco", length = 50)
private String endereco;
@Column(name = "bairro", length = 50)
private String bairro;
// construtor, getter e setters
Faço o Select assim: (sei que não preciso usar o SQL nativo, mas quero fazer assim para alguns testes)
String sql = "select id, nome FROM clientes";
entityManager.createNativeQuery(sql, ClientesMOD.class)
List<ClientesMOD> clientes = q.getResultList();
Dá o seguinte erro:
javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Column name bairro not found in result set.
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1361)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:261)
at com.softcom.hibernate.dao.ClientesDAO.listar(ClientesDAO.java:23)
at com.softcom.hibernate.forms.FormPrincipal.btListarActionPerformed(FormPrincipal.java:88)
at com.softcom.hibernate.forms.FormPrincipal.access$200(FormPrincipal.java:7)
at com.softcom.hibernate.forms.FormPrincipal$3.actionPerformed(FormPrincipal.java:41)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3322)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)...
O erro acontece porque fiz o select só de id e nome, se eu fizesse o select de todos os campos não daria esse erro. Mas como posso resolver isso? pois neste caso só quero o select de id e nome.