Java 使用Hibernate排除值
我试图从结果的列中排除一个值 我试过使用Java 使用Hibernate排除值,java,hibernate,hibernate-criteria,Java,Hibernate,Hibernate Criteria,我试图从结果的列中排除一个值 我试过使用连接()和和() 这是我最后一次尝试筛选: public List<Factura> getAll() { Criteria criteria = getSession().createCriteria(Factura.class); Criterion criterion = Restrictions.conjunction().add(Restrictions.eq("estado", "INICIADO"))
连接()
和和()
这是我最后一次尝试筛选:
public List<Factura> getAll() {
Criteria criteria = getSession().createCriteria(Factura.class);
Criterion criterion = Restrictions.conjunction().add(Restrictions.eq("estado", "INICIADO"))
.add(Restrictions.eq("estado", "CONFIRMADO"));
criteria.addOrder(Order.desc("idFactura"));
criteria.add(criterion);
List<Factura> list = criteria.list();
return list;
}
public List getAll(){
Criteria=getSession().createCriteria(Factura.class);
criteria=Restrictions.conjunction().add(Restrictions.eq(“estado”、“INICIADO”))
.添加(限制条件,如“estado”、“CONFIRMADO”);
标准。添加订单(订单描述(“idFactura”);
标准。添加(标准);
List=criteria.List();
退货清单;
}
在我的表的estado
列中,我有3个可能的值INICIADO、CONFIRMADO、RESERVADO
我想从我的结果中排除RESERVADO
但我不知道我做错了什么,只获取完整列表而不进行筛选。好的,我在尝试了很多事情后找到了解决方案,这很容易理解
public List<Factura> getAll() {
Criteria criteria = getSession().createCriteria(Factura.class);
criteria.add(
Restrictions.not(
Restrictions.in("estado", new String[]{"RESERVADO"})));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<Factura> list = criteria.list();
return list;
}
public List getAll(){
Criteria=getSession().createCriteria(Factura.class);
标准.添加(
限制,不是(
限制。在(“estado”,新字符串[]{“RESERVADO”})中;
criteria.setResultTransformer(criteria.DISTINCT\u ROOT\u实体);
List=criteria.List();
退货清单;
}
有了这个,我可以排除任何我想要的值
谢谢大家的阅读,很抱歉浪费了你们的时间。好的,我在尝试了很多东西后找到了一个解决方案,它很容易理解
public List<Factura> getAll() {
Criteria criteria = getSession().createCriteria(Factura.class);
criteria.add(
Restrictions.not(
Restrictions.in("estado", new String[]{"RESERVADO"})));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<Factura> list = criteria.list();
return list;
}
public List getAll(){
Criteria=getSession().createCriteria(Factura.class);
标准.添加(
限制,不是(
限制。在(“estado”,新字符串[]{“RESERVADO”})中;
criteria.setResultTransformer(criteria.DISTINCT\u ROOT\u实体);
List=criteria.List();
退货清单;
}
有了这个,我可以排除任何我想要的值
感谢大家的阅读,很抱歉浪费了你们的时间。使用限制。ne
方法
public List<Factura> getAll() {
Criteria criteria = getSession().createCriteria(Factura.class);
criteria.add(Restrictions.ne("estado", "RESERVADO"));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
return criteria.list();
}
public List getAll(){
Criteria=getSession().createCriteria(Factura.class);
标准。添加(限制。ne(“estado”、“RESERVADO”);
criteria.setResultTransformer(criteria.DISTINCT\u ROOT\u实体);
返回条件。list();
}
使用限制.ne
方法
public List<Factura> getAll() {
Criteria criteria = getSession().createCriteria(Factura.class);
criteria.add(Restrictions.ne("estado", "RESERVADO"));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
return criteria.list();
}
public List getAll(){
Criteria=getSession().createCriteria(Factura.class);
标准。添加(限制。ne(“estado”、“RESERVADO”);
criteria.setResultTransformer(criteria.DISTINCT\u ROOT\u实体);
返回条件。list();
}
看一看