I am trying to list mysql db table but I’m receiving error in my query.
My entity one:
@Entity(name = "CadastroProfissionalMedico")
@Table(name = "tabela_profissional_medico")
@Getter
@Setter
@ToString
public class CadastroProfissionalMedico implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "IND")
private Integer ind;
@Column(name = "CNPJ")
private String cnpj;
@Column(name = "Nome")
private String nome;
@Column(name = "Apelido")
private String apelido;
@Column(name = "Cremerj")
private String cremerj;
@Column(name = "Coren")
private String coren;
@Column(name = "Senha")
private String senha;
@Column(name = "Tipo")
private String tipo;
@Column(name = "Celular")
private String celular;
@Column(name = "Email")
private String email;
@Column(name = "Tipo_Estabelecimento")
private String tipoEstabelecimento;
@Column(name = "Nome_Estabelecimento")
private String nomeEstabelecimento;
@Column(name = "IP_Address")
private String ipAddress;
@Column(name = "Local_Address")
private String localAddr;
@Column(name = "Local_Name")
private String localName;
@Column(name = "Data_Acesso")
private String data_Acesso;
public CadastroProfissionalMedico() {
}
}
Entity two:
@Getter
@Setter
@ToString
@Entity ( name = "CadastroDeClientes")
@Table (name = "tabela_cadastro_clientes")
public class CadastroDeClientes implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "IND")
private Integer ind;
@Column(name = "CNPJ")
private String cnpj;
@Column(name = "Tipo_Estabelecimento")
private String tipoestabelecimento;
@Column(name = "Nome_Estabelecimento")
private String nomeesstabelecimento;
@Column(name = "Endereco")
private String endereco;
@Column(name = "Complemento")
private String complemento;
@Column(name = "Bairro")
private String bairro;
@Column(name = "CEP")
private String cep;
@Column(name = "Cidade")
private String cidade;
public CadastroDeClientes() {
}
}
My query:
public List<CadastroProfissionalMedico> listUsuarios(String Nome, String Senha, String CNPJ) {
EntityManagerFactory entMngrFctry = Persistence.createEntityManagerFactory("itcmedbr_PU");
EntityManager entMnger = entMngrFctry.createEntityManager();
entMnger.getTransaction().begin();
String hqlSelct1 = "FROM CadastroProfissionalMedico m JOIN CadastroDeClientes c ON m.CNPJ = c.CNPJ"
+ " WHERE (m.Apelido = :Nome AND m.Senha = :Senha AND m.CNPJ = :CNPJ)";
Query query = (Query) entMnger.createQuery(hqlSelct1);
query.setParameter(0, Nome);
query.setParameter(1, Senha);
query.setParameter(2, CNPJ);
List usuario = query.getResultList();
System.out.println("Usuario: " + usuario);
return usuario;
}
Log:
Caused by: org.hibernate.query.sqm.UnknownPathException: Could not resolve attribute 'CNPJ' of 'itc.systems.bd.CadastroProfissionalMedico' [FROM CadastroProfissionalMedico m JOIN CadastroDeClientes c ON m.CNPJ = c.CNPJ WHERE (m.Apelido = :Nome AND m.Senha = :Senha AND m.CNPJ = :CNPJ)]
at org.hibernate.query.hql.internal.StandardHqlTranslator.translate(StandardHqlTranslator.java:87)
at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.createHqlInterpretation(QueryInterpretationCacheStandardImpl.java:165)
at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.resolveHqlInterpretation(QueryInterpretationCacheStandardImpl.java:147)
at org.hibernate.internal.AbstractSharedSessionContract.interpretHql(AbstractSharedSessionContract.java:769)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:819)
... 28 more
Caused by: org.hibernate.query.sqm.PathElementException: Could not resolve attribute 'CNPJ' of 'itc.systems.bd.CadastroProfissionalMedico'
at org.hibernate.query.sqm.SqmPathSource.getSubPathSource(SqmPathSource.java:95)
at org.hibernate.query.sqm.tree.domain.AbstractSqmPath.get(AbstractSqmPath.java:195)
at org.hibernate.query.sqm.tree.domain.AbstractSqmFrom.resolvePathPart(AbstractSqmFrom.java:196)
at org.hibernate.query.hql.internal.DomainPathPart.resolvePathPart(DomainPathPart.java:42)
at org.hibernate.query.hql.internal.BasicDotIdentifierConsumer.consumeIdentifier(BasicDotIdentifierConsumer.java:91)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitSimplePath(SemanticQueryBuilder.java:5050)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitIndexedPathAccessFragment(SemanticQueryBuilder.java:4999)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitGeneralPathFragment(SemanticQueryBuilder.java:4974)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitGeneralPathExpression(SemanticQueryBuilder.java:1776)
at org.hibernate.grammars.hql.HqlParser$GeneralPathExpressionContext.accept(HqlParser.java:7699)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
at org.hibernate.grammars.hql.HqlParserBaseVisitor.visitBarePrimaryExpression(HqlParserBaseVisitor.java:756)
at org.hibernate.grammars.hql.HqlParser$BarePrimaryExpressionContext.accept(HqlParser.java:7157)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.createComparisonPredicate(SemanticQueryBuilder.java:2429)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitComparisonPredicate(SemanticQueryBuilder.java:2392)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitComparisonPredicate(SemanticQueryBuilder.java:269)
at org.hibernate.grammars.hql.HqlParser$ComparisonPredicateContext.accept(HqlParser.java:6164)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.consumeJoin(SemanticQueryBuilder.java:2130)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitEntityWithJoins(SemanticQueryBuilder.java:1922)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitFromClause(SemanticQueryBuilder.java:1901)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitQuery(SemanticQueryBuilder.java:1148)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitQuerySpecExpression(SemanticQueryBuilder.java:941)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitQuerySpecExpression(SemanticQueryBuilder.java:269)
at org.hibernate.grammars.hql.HqlParser$QuerySpecExpressionContext.accept(HqlParser.java:1869)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitSimpleQueryGroup(SemanticQueryBuilder.java:926)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitSimpleQueryGroup(SemanticQueryBuilder.java:269)
at org.hibernate.grammars.hql.HqlParser$SimpleQueryGroupContext.accept(HqlParser.java:1740)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitSelectStatement(SemanticQueryBuilder.java:443)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitStatement(SemanticQueryBuilder.java:402)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.buildSemanticModel(SemanticQueryBuilder.java:311)
at org.hibernate.query.hql.internal.StandardHqlTranslator.translate(StandardHqlTranslator.java:71)
... 32 more
Where am I going wrong?
Thanks and best regards.