hola; me sale el siguiente error:
ERROR: HHH000177: Error in named query: Producto.consultarPorNombreDeCateg
org.hibernate.QueryException: could not resolve property: nombre of: com.latam.alura.tienda.modelo.Categoria [SELECT p FROM com.latam.alura.tienda.modelo.Producto AS p WHERE p.categoria.nombre =: nombre]
at org.hibernate.QueryException.generateQueryException(QueryException.java:120)
at org.hibernate.QueryException.wrapWithQueryString(QueryException.java:103)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:220)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144)
...
la unica solucion fue commitear la @namedqueriy:
package com.latam.alura.tienda.modelo;
import java.math.BigDecimal;
import java.time.LocalDate;
//@SuppressWarnings("all")
@Entity
@Table(name = "productos")
**//@NamedQuery(name="Producto.consultarPorNombreDeCateg", query = "SELECT p FROM Producto AS p WHERE p.categoria.nombre =: nombre")**
@Inheritance(strategy = InheritanceType.JOINED)
public class Producto {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
//@Column(name="nombres") Por si hay diferencia entre el nombre d elos atributos y el nombre de la columna en la DB
private String nombre;
private String descripcion;
private BigDecimal precio;
private LocalDate fechaDeRegistro = LocalDate.now();
@ManyToOne
private Categoria categoria;
public Producto() {
}
public Producto(String nombre, String descripcion, BigDecimal precio, Categoria categoria) {
this.nombre = nombre;
this.descripcion = descripcion;
this.precio = precio;
this.categoria = categoria;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public BigDecimal getPrecio() {
return precio;
}
public void setPrecio(BigDecimal precio) {
this.precio = precio;
}
}
que puede ser?