无法使用地图数据保存到数据库

时间:2018-11-26 12:27:04

标签: java

  

在我的应用程序中,我正在从数据库获取Status对象并将其设置为   用户对象,最后将用户另存为:

Status status = statusRepository.findOne(UserServiceConstants.STATUS_OPEN);
user.setStatus(status);
userRepository.save(user);
  

很好。但是由于状态码有限,我需要状态码   存储在地图中并在我需要的地方使用。为此,我在下面创建了   课。

@Configuration
public class StatusConfiguration {

    @Autowired
    StatusRepository statusRepository;

    Map<Integer, Status> statusMap = new HashMap<Integer, Status>();    


    public Map<Integer, Status> getStatusMap() {
        return statusMap;
    }


    public void setStatusMap(Map<Integer, Status> statusMap) {
        this.statusMap = statusMap;
    }


    @PostConstruct
    public void init(){
        List<Status> statusList = new ArrayList<Status>();

        statusList = statusRepository.findAll();
        statusList.forEach(status -> {
            statusMap.put(status.getStatusId(), status);
        });
    }
}
  

我可以在需要状态的班级自动接线       所以不要使用

Status status = statusRepository.findOne(UserServiceConstants.STATUS_OPEN);
user.setStatus(status);
userRepository.save(user);
  

我正在使用:

Status status = statusConfiguration.getStatusMap().get(UserServiceConstants.STATUS_OPEN);
user.setStatus(status);
userRepository.save(user);
  

但是我遇到错误:

org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist: com.rawtrade.model.Status; nested exception is org.hibernate.PersistentObjectException: detached entity passed to persist: com.rawtrade.model.Status
  

请有人帮我。我在Spring Boot中使用这个   

0 个答案:

没有答案