0
나는이 두 개체 :
NullPointerException가 내 봄 응용 프로그램에서
@Entity
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
....
@OneToOne
@Cascade({CascadeType.ALL})
@JoinColumn(name="page_id")
private Page page;
@OneToMany(fetch=FetchType.LAZY, mappedBy="category")
private List<Shop> shop;
..getters and setters
}
그리고
@Entity
public class Shop {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
....
@OneToOne(mappedBy="shop")
private Settings settings;
@ManyToOne
@Cascade({CascadeType.SAVE_UPDATE})
@JoinColumn(name = "category_id")
private Category category;
@OneToOne
@Cascade({CascadeType.ALL})
@JoinColumn(name = "page_id")
private Page page;
...getters and setters
}
그리고 내 시험의 JUnit에서 내가 어떤 카테고리와이 카테고리의 일부 상점을 추가했는데, 현재 상점 카테고리 목록에 액세스하려고 할 때 오류가 있습니다. java.lang.NullPointerException ....
내 시험 : org.springframework.orm.hibernate3.support.OpenSessionInViewFilter하지 JUnit 테스트에서 전면 응용 프로그램에서 제대로 작동이 : 게으른 내가 내 web.xml 파일의 필터링 및 공기에서 먼지에 추가 atribute에 액세스
@ContextConfiguration(locations = {
"classpath:security-context.xml",
"classpath:dao-context.xml"
})
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=false)
@Transactional
public class CategoryTest {
Shop shop1 = new Shop(....);
Shop shop1 = new Shop(....);
Category category1 = new Category(....);
Category category2 = new Category(....);
@Test
public void someTest(){
shop1.setCategory(category1);
shop2.setCategory(category2);
shopService.add(shop1);
shopService.add(shop2);
assertEquals(2, shopService.getAllShop().size());
assertEquals(2, categoryService.getAllShop().size());
//IN THIS LINE I HAVE A ERROR
assertEquals(1, categoryService.getCategory(category1.getId()).getShop().size());
}
}
.
어떤 점이 오류입니까?
나는 그래서 난 내 web.xml 파일에 org.springframework.orm.hibernate3.support.OpenSessionInViewFilter을 추가하고 내 테스트 클래스에 @Transactional 주석을 추가 것을 알고있다. 그러나 이것은 도움이되지 않습니다. 내가 잘못? – kuka11