Java Hibrate 4.3-列表中未返回实体类实例

Java Hibrate 4.3-列表中未返回实体类实例,java,hibernate,hibernate-4.x,Java,Hibernate,Hibernate 4.x,我使用的是Hibernate4.3.8,没有Spring。我正在使用Hibernate的会话API。我有一个实体类Category,我用@entity、@Table、@Id、@Column等正确地注释了它。我不使用.hbm.xml描述符文件,我只想使用域/实体java源/类文件中的注释 1) 好的,我用以下方式创建hibernateSessionFactory: Configuration configuration = new Configuration().configure

我使用的是Hibernate4.3.8,没有Spring。我正在使用Hibernate的会话API。我有一个实体类
Category
,我用
@entity
@Table
@Id
@Column
等正确地注释了它。我不使用.hbm.xml描述符文件,我只想使用域/实体java源/类文件中的注释

1) 好的,我用以下方式创建hibernate
SessionFactory

        Configuration configuration = new Configuration().configure();          
        // configuration.addClass(Category.class);
        StandardServiceRegistryBuilder builder = 
                new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
        configuration.addPackage("com.test.db.domain");
        factory = configuration.buildSessionFactory(builder.build());
2) 然后当我尝试这个:

session.createCriteria(Category.class).list()

我只是得到一个空列表(我希望得到DB表中的所有类别)。
类别
类位于com.test.db.domain包中

这可能是什么原因?我在这件事上耽搁了将近一天。

3) 请注意,如果使用
session.createSQLQuery
,我可以连接到数据库并获取所有类别


4) 还要注意,我不想使用Hibernate的EntityManager API、JPA和与JPA相关的XML描述符

问题是:调用
configuration.addPackage
并没有达到我最初期望的效果。另见:


与其调用
addPackage
,不如从自己的实体/域类为每个类调用
configuration.addAnnotatedClass

您不能使用内存数据库中的测试来使用本地资源进行测试吗?然后您只需执行
createQuery().getResultList()
即可获得所有结果。@ha9u63ar谁说我使用内存数据库的?我使用MySQL。而且,我没有指定任何地方的资源。如果没有persistence.xml,我可以做我想做的事情吗?或者这是不可能的?而且,
标准
没有方法
getResultList
。我试图运行一个
标准
,而不是一个
查询
。这不是一个建议,只是一个问题。另外,在调用session.createCritera(Category.class).list()之前,您是否添加了任何记录?JBoss文档在这里有一个例子-@ha9u63ar哦,我明白了。好吧,那不是我想做的。我试图不使用persistence.xml,只使用会话API和注释,而不是hbm.xml映射文件。@ha9u63ar我有记录,请阅读我问题中的第3项)。