0
我正在使用spring數據jpa來做實體持久性。當我將數據保存到事務中的數據庫時遇到問題。使用spring數據jpa無法在事務中獲得id
我測試我的存儲庫,當沒有事務時,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
}
試試這個,但不會工作... – nekroex
似乎不太可能在會工作。 JPA更新持久實體上的ID。 –