Я не понял, почему я получаю пустой список от criteria
, и у меня есть данные в таблице.Почему критерии Hibernate возвращают пустой список, если у меня есть данные в моей таблице?
код, где я получаю список:
hibernateSession_destination = HibernateUtilReports.INSTANCE.getSession();
Criteria criteria = hibernateSession_destination.createCriteria(nr_rec_backup_rule.class);
List list = criteria.list();
System.out.println("List length ======= " + list.size()); // prints size = 0
Мои HibernateUtilReports.java:
public enum HibernateUtilReports {
INSTANCE;
public static SessionFactory sessionFactory = null;
private synchronized SessionFactory getSessionFactory(){
if(sessionFactory == null){
Configuration config = new Configuration();
config.addAnnotatedClass(contaque_recording_log.class);
config.addAnnotatedClass(contaque_servers.class);
config.configure("reportshibernate.cfg.xml"); // is here any error???
Properties configProperties = config.getProperties();
ServiceRegistryBuilder serviceRegisteryBuilder = new ServiceRegistryBuilder();
ServiceRegistry serviceRegistry = serviceRegisteryBuilder.applySettings(configProperties).buildServiceRegistry();
sessionFactory = config.buildSessionFactory(serviceRegistry);
}
return sessionFactory;
}
public Session getSession(){
return getSessionFactory().openSession();
}
}
Мой reportshibernate.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="connection.url">jdbc:oracle:thin:@8080/xe</property>
<property name="hibernate.connection.username">user</property>
<property name="hibernate.connection.password">1234</property>
<property name="c3p0.minPoolSize">2</property>
<property name="c3p0.maxPoolSize">100</property>
<property name="c3p0.timeout">1000</property>
<property name="hibernate.cache.use_second_level_cache">false</property>
<property name="show_sql">true</property>
<property name="hibernate.connection.zeroDateTimeBehavior">convertToNull</property>
</session-factory>
Где я ошибаюсь? ??
Отредактировано:
Примечание: Так как «show_sql» установлено значение «истина» в моем XML, но я не получаю SQL запрос на моей консоли.
Проверьте соединение URL 'JDBC: оракул: тонкий: @localhost : 1521: xe' [см. Здесь] (http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html). Также проверьте журнал –
это [ссылка] (http://www.mkyong.com/hibernate/hibernate-criteria-examples/) поможет вам –
Фактически у меня есть еще один URL здесь 'jdbc: oracle: thin: @URL: xe' , Я написал '8080' только здесь для обеспечения безопасности моего сервера ... @ Aniket –