2013-09-21 2 views
0

나는 다음 클래스봄 데이터 오류

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = {"classpath:my-ctx.xml"}) 
public class UserTests { 
    @Inject 
    private ApplicationContext applicationContext; 

    private UserRepository getUserRepository() { 
     return (UserRepository)applicationContext.getBean("userRepository", CrudRepository.class); 
    } 

    @Test 
    public void someTest() { 
     User user = new User(); 
     user.setName("John Doe"); 
     getUserRepository().save(user); 
    } 
} 

테스트 실행을 가지고, 나는 다음과 같은 오류를

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository': FactoryBean threw exception on object creation; nested exception is java.lang.NullPointerException 
... 

근본 원인을 VersionMetaData vermd = mmd.getAbstractClassMetaData().getVersionMetaData();가 null

org.datanucleus.api.jpa.metamodel.SingularAttributeImpl.isVersion(SingularAttributeImpl.java:79) 
org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.findVersionAttribute(JpaMetamodelEntityInformation.java:92) 
org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:78) 
org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getMetadata(JpaEntityInformationSupport.java:65) 
org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:146) 
org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:84) 
org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:67) 
... 

한다 얻을.

이것은 버그입니까?

@Inject UserRepository userRepository; 같은 것을 넣을 수 있지만 스프링 데이터의 작동 방식을 고려하면이 두 결과는 똑같은 결과를 가져야합니다. 맞습니까? 그리고 어쨌든 결과는 같은 오류가 될 것입니다.

스프링 데이터 1.4.1, DataNucleus 3.3.2, 스프링 3.2.4를 사용하고 있습니다.

답변