jpa save 的一个坑

/*
	 * (non-Javadoc)
	 * @see org.springframework.data.repository.CrudRepository#save(java.lang.Object)
	 */
	@Transactional
	public  S save(S entity) {

		if (entityInformation.isNew(entity)) {
			em.persist(entity);
			return entity;
		} else {
			return em.merge(entity);
		}
	}

 save之前做判断主键是否为空,如果为空则新增,不为空则修改。

但。。。一种情况例外。。。

加了@version 就不行,因为更新需要根据版本来判断

你可能感兴趣的:(java)