使用JUnit 測試hibernate 事務管理的時候應注意 ,測試類完成是默認回滾的。 所以只能查詢數據庫卻不能增刪改數據庫。 應該在測試類上面加上注解 @Rollback(false) 表似默認不回滾。
package TestHibernate;
import java.util.List;
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;
import dao.RoomDao;
import entity.Room;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring.xml")
@Transactional
@Rollback(false)
public class TestTranscation {
@Resource
private RoomDao r;
@Test
public void saa(){
System.out.println("dsada");
List<Room> a = r.findAll();
for (Room room : a) {
System.out.println(room.getRoomName());
room.setRoomName("xxx");
r.saveOrUpdate(room);
}
// Room room=new Room();
// room.setId(6);
// room.setRoomName("fsffdsgfdhgf");
// r.save(room);
//
}
}
