条件列表返回空列表但 oracle db 中有行

Criteria list returning empty list but there are rows in oracle db

我 运行 sql 在 oracle Thin 11 g 上声明 "SELECT * FROM company" 并且它 returns 3 行。

我已经正确配置了数据源并按如下方式尝试了查询和条件,并且所有这些都return什么都没有,即使它们应该return 3 行。 //导入org.hibernate.Criteria;

1。 条件

 Criteria criteria = session.createCriteria(Company.class);
            criteria
                     .add(Restrictions.eq("companyName", companyName))
                     .add(Restrictions.eq("companyId", companyId));

List<Company> companyList  = criteria.list();//**THIS RETURNS 0 ROWS**

2。 查询

Query query=session.createQuery("from Company where companyName= :companyName and companyId= :companyId");

           query.
                   setParameter("companyId",companyId).
                   setParameter("companyName", companyName);

List<Company> companyList  = query.list();//**THIS RETURNS 0 ROWS**

3.SQL 在查询中

Query query=session.createSQLQuery("SELECT * FROM Company");
List<Company> CompanyList  = query.list();//**THIS RETURNS 0 ROWS**

这里是公司实体

//javax.persistence.*;

@Entity
@Table(name = "COMPANY")
public class Company {

    @Id
    @GeneratedValue(strategy= GenerationType.SEQUENCE, generator="COMPANY_SEQ")
    @SequenceGenerator(name="COMPANY_SEQ", sequenceName="COMPANY_SEQ",   allocationSize=1)
    @Column(name = "COMPANY_ID")
    int CompanyId;

    @Basic
    @Column (name ="COMPANY_NAME")
    private String companyName;


    @Basic
    @Column (name ="COMPANY_ID")
    private Integer companyId;// The login id of user whose data is updated

    @Basic
    @Column (name ="UPDATED_BY")
    private String updatedBy;

    @Basic
    @Column (name ="UPDATE_DATE")
    private Date updateDate;

     //Default no-arg constructor and another constructor with all the fields.
    //default getters and Setters
}

我错过了什么,为什么不是所有的休眠查询都没有 returning 行?感谢您的帮助。

感谢@JBNizet 对我的问题的评论。问题是我没有在 SQL Developer 中提交数据。

确保 'commit' 您正在使用的 DB Developer 上的事务。

这是@JBNizet 的准确评论

A transaction will see its own changes, even if the transaction is not committed yet. Other concurrent transactions won't see the uncommitted changes of the first transaction. That's the principle of transaction isolation (when it's set to READ_COMMITTED at least). Execute commit; in SQL developer to be sure. –

我遇到了同样的问题。我只是忘了在 hibernate.cfg.xml 中添加映射-class。 我做到了并且效果很好