jpa保存データ時報エラーorg.springframework.orm.jpa.JpaObjectRetrievalFailureException


jpa保存データエラーorg.springframework.orm.jpa.JpaObjectRetrievalFailureException: Unable to find cn.scitc_rx.rjxh.Module.AcctMgr with id xxxx; nested exception is javax.persistence.EntityNotFoundException: Unable to find cn.scitc_rx.rjxh.Module.AcctMgr with id xxx
問題記述はrepositoryでオブジェクトを保存する際に問題のようなエラーを報告した.コードは次のとおりです.
String ip = GetIP.getIpAddress(request);
try {
    acctMgr = acctMgrRepository.getOne(ip);
    if (acctMgr.getIp()==null) throw e1;
    int tmp = acctMgr.getTimes();
}catch (Exception e) {
    acctMgr = new AcctMgr();
    acctMgr.setIp(ip);
    acctMgr.setTimes(RJXHINFO.getAcctMaxLimit());
}
acctMgr.setTimes(acctMgr.getTimes()-1);
acctMgrRepository.save(acctMgr);

ipアクセスを簡単に記録するコードで、各関数は正常に動作しますが、保存時にエラーが発生します.最初はipに特殊文字がついていたせいで保存に失敗したのではないかと疑っていたので、setIPのipを直接
acctMgr.setIp("0p0p0p0p0p0p1");

アプリケーションを再起動して正常に書き込むことができて、そこで私はreplaceAll関数ですべての特殊な文字をpに置き換えましたが、依然としてテーマの中の間違いが現れました!何度も実験した結果、このsetIp(String ip)の値は私が定義したipで直接伝えることができないことが分かった.
解決策は私が定義した以上、私は他の人に包装してあげます.
aactMgr.setIp(String.valueOf(ip));

半信半疑で動いてみたが、本当に解決したとは思わなかった!具体的な原理はまだ未知で、私が定義したipが本当のStringタイプではないと初歩的に判断するしかありません???具体的には、私が忙しいプロジェクトを終えてからよく研究しなければなりません.