我使用eclipse hibernate插件中內置的反向工程功能爲每個表生成dao和hbm.xml文件。使用eclipse Hibernate插件的問題 - 在JNDI中找不到sessionfactory
它很好,但是當我嘗試使用生成的對象時,我得到一個無法找到JNDI錯誤中的SessionFactory。
我看到一篇文章,當你在hibernate.cfg.xml文件中命名SessionFactory時,發生這種情況,所以我刪除了名稱標籤,並且仍然收到相同的錯誤。
這是我的hibernate.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="hibernate.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">qwerty</property>
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/agilegroup3</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.default_catalog">agilegroup3</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<mapping resource="generated/Usersroles.hbm.xml" />
<mapping resource="generated/Role.hbm.xml" />
<mapping resource="generated/Logdata.hbm.xml" />
<mapping resource="generated/Logtrigger.hbm.xml" />
<mapping resource="generated/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
這是觸發異常生成的代碼
protected SessionFactory getSessionFactory() {
try {
return (SessionFactory) new InitialContext()
.lookup("SessionFactory");
} catch (Exception e) {
log.error("Could not locate SessionFactory in JNDI", e);
throw new IllegalStateException(
"Could not locate SessionFactory in JNDI");
}
}
我不知道很多關於JNDI,但我想它的某種查找等同於配置文件。我不想使用JNDI,但我不知道如何使用Eclipse插件來實現這一點。
更改生成的代碼不會真正幫助我,因爲我需要保持在某些點進行再生,所以如果任何人都可以解釋爲什麼/這是怎麼發生的,什麼我可以做這件事我會很感激
感謝
喬納森
我也面臨着同樣的問題。你有沒有擺脫這個問題?如果是的話,請讓我們知道解決方案.... – 2012-08-29 12:33:43