public class ProductInfo {
@Id
private String productId;
/** 名字. */
private String productName;
/** 单价. */
private BigDecimal productPrice;
...
@Test
public void saveTest() {
ProductInfo productInfo = new ProductInfo();
productInfo.setProductId("123456");
productInfo.setProductName("皮蛋粥");
productInfo.setProductPrice(new BigDecimal(3.2));
productInfo.setProductStock(100);
productInfo.setProductDescription("很好喝的粥");
productInfo.setProductIcon("http://xxxxx.jpg");
productInfo.setProductStatus(0);
productInfo.setCategoryType(3);
// ProductInfo result = repository.save(productInfo);
ProductInfo result = repository.saveAndFlush(productInfo);
Assert.assertNotNull(result);
}
Я хочу сохранить объект с идентификатором, который не записан в базе данных.
Hibernate:
select
productinf0_.product_id as product_1_3_0_,
productinf0_.category_type as category2_3_0_,
productinf0_.create_time as create_t3_3_0_,
productinf0_.product_description as product_4_3_0_,
productinf0_.product_icon as product_5_3_0_,
productinf0_.product_name as product_6_3_0_,
productinf0_.product_price as product_7_3_0_,
productinf0_.product_status as product_8_3_0_,
productinf0_.product_stock as product_9_3_0_,
productinf0_.update_time as update_10_3_0_
from
product_info productinf0_
where
productinf0_.product_id=?
Hibernate:
update
product_info
set
create_time=?,
product_price=?,
update_time=?
where
product_id=?
Согласно правилам hibernate, невозможно сохранить данные в базе данных, выбрав объект с идентификатором первым в обновлении. Как мне это сделать? Спасибо за ваш ответ.