NHibernate를 설정하는 데 약간의 문제가있다. 문제가 정확히 무엇인지 확실하지 않다. 도메인 객체를 데이터베이스 (Oracle 10g XE)에 저장하려고합니다. 그러나 ISessionFactory를 만들려고 할 때 TypeInitializationException이 발생합니다.NHibernate가 SessionFactory를 생성 할 수 없다
<?xml version="1.0" encoding="utf-8"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory name="MyProject.DataAccess">
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
<property name="connection.connection_string">
User ID=myid;Password=mypassword;Data Source=localhost
</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.OracleDialect</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
<mapping resource="MyProject/Domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
은 내가 데이터베이스에 도메인 객체를 유지하는 데 사용하는 DAO를 만들어 : 여기처럼 내 hibernate.cfg.xml로 보이는 것입니다. DAO는 SessionFactory를 생성하는 HibernateUtil 클래스를 사용한다. 두 클래스 모두 Hibernate 구성과 함께 DataAccess 네임 스페이스에 있습니다. 여기에서 예외가 발생합니다. 이 클래스는 다음과 같습니다.
public class HibernateUtil
{
private static ISessionFactory SessionFactory = BuildSessionFactory();
private static ISessionFactory BuildSessionFactory()
{
try
{
// This seems to be where the problem occurs
return new Configuration().Configure().BuildSessionFactory();
}
catch (TypeInitializationException ex)
{
Console.WriteLine("Initial SessionFactory creation failed." + ex);
throw new Exception("Unable to create SessionFactory.");
}
}
public static ISessionFactory GetSessionFactory()
{
return SessionFactory;
}
}
DataAccess 네임 스페이스는 NHibernate DLL을 참조합니다. 이것은 Java에서 Hibernate에서 사용했던 것과 거의 동일한 설정이므로, 내가 여기서 잘못하고있는 것이 확실하지 않습니다. 어떤 아이디어?
"파일을 찾을 수 없습니다 'C : \ 사용자가 프로젝트 \ 비주얼 스튜디오 2010 \ 타일러 \ 문서 \ \ MyProject를 \ MyProject를 \ ConsoleApplication \ 빈
편집
가장 안쪽 예외는 다음과 같다 \ Debug \ hibernate.cfg.xml '. "
ConsoleApplication에는 사용자 개체를 만든 진입 점이 들어 있으며 내 DAO와 함께 유지하려고합니다. 왜 구성 파일을 찾고 있습니까? 실제 지속성은 DataAccess에있는 DAO에서 발생합니다. 또한 ConsoleApplication에 구성 파일을 추가해도 여전히 찾지 못합니다.
예외 내용을 게시하십시오. – Vadim
@ Yads : 내 소식을 업데이트했습니다. –