2008-11-06 6 views
4

Hibernate를 처음 사용하고 MS SqlServer의 테이블에서 데이터를 검색하는 java/spring 예제를 실행하려고 시도했습니다. 프로그램을 실행하려고 할 때마다 데이터 소스가로드됩니다. 그러나 스프링은 다음과 같은 오류 얻을의 facotry 세션을로드 할 때 :Hibernate Transaction Manager 호

<!-- Data source bean --> 
<bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource" > 
    <property name="driverClassName"> 
     <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></property> 
    <property name="url"> 
     <value>jdbc:microsoft:sqlserver://machine:port</value></property> 
    <property name="username"><value>user</value></property> 
    <property name="password"><value>password</value></property> 
</bean> 

<!-- Session Factory Bean --> 
<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    <property name="dataSource"><ref local="dataSource"/></property> 
    <property name="mappingResources"> 
    <list> 
     <value>authors.hbm.xml</value> 
    </list> 
    </property> 
    <property name="hibernateProperties"> 
     <value> 
      hibernate.dialect=net.sf.hibernate.dialect.SQLServerDialect 
     </value> 
    </property> 
</bean> 

<bean id="txManager" 
    class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 
+0

, this를 사용 받는다는을 사용하고 있습니다. 나는 내가 해결할 수 있으면 게시 할 것이지만 나는 너처럼, 최대 절전 모드에 대해 많이 모른다. –

+0

그냥 의견 - bar 또는 아마도 p : foo = "로 재배치하여 xml의 자세한 정보를 줄일 수 있습니다. bar "가 지원되는 'p'네임 스페이스를 사용하면"bar "가됩니다. – toolkit

답변

14

당신은 JTA API 클래스를 포함하는 JAR 파일을 누락 : 아래

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: 
    Error creating bean with name 'sessionFactory' 
     defined in class path resource [ml/spring/src/applicationContext.xml]: 
Instantiation of bean failed; nested exception is 
    java.lang.NoClassDefFoundError: javax/transaction/TransactionManager 
    Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager 

내가 사용하고있는 응용 프로그램 컨텍스트 파일을 . 당신은 아마도 당신이 Hibernate를 다운로드 할 때 이미 하나가있을 것이다. 다음과 같이 호출해야합니다.

jta-1.1.jar 

희망이 있습니다. 경우

0

당신은 내가 비슷한 문제에서 찾고 있었어요

<dependency> 
    <groupId>javax.transaction</groupId> 
    <artifactId>jta</artifactId> 
    <version>1.1</version> 
</dependency>