Hi
Estou procurando produtos em uma base de dados, passando um Product com alguns atributos nulos. O meu DAO está assim:
...
public class ProductDAO{
...
public Collection findByProduct(Product product){
Collection products = null;
try {
Session session = config.buildSessionFactory().openSession();
Criteria criteria = session.createCriteria(Product.class);
criteria.add(Example.create(product));
products = criteria.list();
session.close();
} catch (HibernateException e) {
.printStackTrace();
}
return products;
}
}
Porém, em meu produto tem um atributo que é uma coleção de categorias:
...
public class Product {
private Long id;
private String name;
private Set categories = new HashSet();
/**
* @hibernate.bag
* table = "stk_product_category"
* cascade = "save-update"
*
* @hibernate.collection-many-to-many
* column = "fk_cat_id"
* class = "com.blablabla.Category"
*
* @hibernate.collection-key
* column = "fk_prdct_id"
*/
public Collection getCategories() {
return categories;
}
/**
* @hibernate.id
* column = "id"
* generator-class = "hilo"
* unsaved-value = "null"
*/
public Long getId() {
return id;
}
/**
* @return Nome do produto.
* @hibernate.property
* column = "name"
*/
public String getName() {
return name;
}
...
}
O que acontece com a coleção de retornto de meu método findByProduct em relação a coleção de propriedades populadas dentro do argumento, quando uso a classe Example do hibernate como critério?