Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Hibernate排除值_Java_Hibernate_Hibernate Criteria - Fatal编程技术网

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();
}
看一看