2016-08-11 10 views
2

私のコードでエンティティを更新しようとしていますが、データがdbに保存されていません。 ログには例外もありません。 @Transactionアノテーションも試しましたが、機能しません。Spring JPA Crud Repository save()エンティティを更新していません

public void uploadBill(Long quoteId, MultipartFile multiPartFile) { 
    try { 
     ServiceQuote serviceQuote = serviceQuoteRepository.findOne(quoteId); 

     String extension = ""; 
     if (multiPartFile.getOriginalFilename().lastIndexOf(".") != -1) { 
      extension = multiPartFile.getOriginalFilename().substring(
        multiPartFile.getOriginalFilename().lastIndexOf("."), 
        multiPartFile.getOriginalFilename().length()); 
     } 
     String filename = SERVICING_BILL_FILE_PREFIX 
       + serviceQuote.getReferenceNo() + extension; 
     filename = AmazonS3Util.uploadBill(multiPartFile, filename); 

     serviceQuote.setBillPath(filename); 
     serviceQuoteRepository.save(serviceQuote); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

を呼び出す保存用

方法は、ここでserviceQuoteRepositoryが可能修正することができるものを提案してくださいJPAのCRUD repositorty

@Repository 
public interface ServiceQuoteRepository extends CrudRepository<ServiceQuote, Long> {} 

です。

+1

この行をapplication.propertiesに追加し、保存した後に出力を貼り付けることができますか? "spring.jpa.properties.hibernate.show_sql = true spring.jpa.properties.hibernate.use_sql_comments = true spring.jpa.properties.hibernate.format_sql = true spring.jpa.properties.hibernate.type = trace" – Journeycorner

+0

エンティティが保存されていないことを確認してください(データベースのツールで確認して、ビューが更新されていることを確認してください)。 – Journeycorner

+0

@Journeycorner私はすべての小道具をapplication.propertiesに持っています。更新された値で保存されていないエンティティを何度もチェックしました。 –

答えて

0

crud repositoryに関する問題はありませんでした。実際にアップロードメソッドの後に、別のサービスがヌルの列を常に見ていたので、nullのbillパスでエンティティを同時に更新していました。問題を数時間デバッグした後に分かります。

+0

私はそれが起こるときにそれが嫌いです。 – eflat

関連する問題