私は間違っていると分かっているテストを書いています。 originalProductとupdatedProductの同じインスタンスを取得して、updatedProduct.setProductName("Updated Product Name");
と呼び出すと、originalProductとupdatedProductの両方のproductNameメンバーが更新されるようになります。これを変更して、このオブジェクトの2つの異なるインスタンスを得ることができます。Spring JUnitテストでHibernateと別のインスタンスを取得する方法
@Test
@Transactional
public void testUpdateProduct() {
productDao.addProduct(createTempProduct());
Product originalProduct = productDao.getProduct((long)999);
Product updatedProduct = productDao.getProduct((long)999);
updatedProduct.setProductName("Updated Product Name");
productDao.updateProduct(updatedProduct);
Product newProduct = productDao.getProduct((long)999);
Assert.assertNotSame(originalProduct, newProduct);
Assert.assertSame(updatedProduct, newProduct);
}
これは、 'productDao.getProduct()'が何をするかを知るのに役立ちます –