【发布时间】:2017-01-31 10:10:52
【问题描述】:
我正在使用 spring data jpa 来做实体持久性。我在事务中将数据保存到数据库时遇到了问题。
我测试我的存储库,当没有事务时,save 方法会将 id 填充到实体,但是当我在服务上使用事务时,save 方法不再填充 id,我想知道为什么,任何感谢建议
我的服务:
@Transactional
@Override
public Long save(ClusterDTO clusterDTO) {
Cluster cluster = clusterMapper.dtoToDO(clusterDTO);
cluster.setGmtCreate(new Date());
cluster.setGmtModified(new Date());
clusterRepository.save(cluster);
return cluster.getId();
}
我的仓库很简单:
public interface ClusterRepository extends CrudRepository<Cluster, Long> {
}
我的实体是:
@Entity
@Table(name = "cluster")
public class Cluster {
@Id
@Column
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String name;
...getters setters
}
【问题讨论】:
标签: transactions spring-data-jpa