es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Hibernate: consulta por ejemplo y muchas a una para crear listas

Digamos que estas son mis Entidades:

Product.java

@Entity
@Table(name = “Productos”)
public class Product{
private int code;
private String name;
private double price;
private byte[] image;
private String image1;
// Para ordenamiento.
private Date createDate;
@ManyToOne
@JoinColumn(name = “categoryId”)
private Category category;
}

Category.java

@Entity
@Table(name = “Categorias”)
public class Category {
@Id
@GeneratedValue
private int categoryId;
private String categoryName;
private String categoryUrl;
@Column(name = “categoryStatus”, length = 1, nullable = false)
private boolean categoryStatus;
@OneToMany(fetch = FetchType.LAZY)
@JoinColumn(name = “categoryId”)
private List listProduct;
}

Quiero listar todas las filas de Productos por id de categoría. Pero no sé cómo hacer una consulta con Hibernate.
Aquí hay una herramienta de ejemplo en la que estoy trabajando, pero no funciona.
Por favor, alguien ayúdeme.

@Override
public List getListByCategory(int categoryId) {
Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery(“FROM Product WHERE categoryId = :categoryId”);
query.setLong(“categoryId”, categoryId);
List list = query.list();
return list;
}

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar la siguiente consulta Hibernate para listar todas las filas de productos por id de categoría:

    java
    @Override
    public List<product> getListByCategory(int categoryId) {
    Session session = sessionFactory.getCurrentSession();
    Query query = session.createQuery("FROM Product WHERE category.categoryId = :categoryId");
    query.setParameter("categoryId", categoryId);
    List<product> list = query.list();
    return list;
    }

Comments are closed.