public F findOne(UserInfo userInfo, F form) {
    logger.infoCode("I0001"); // I0001=メソッド開始:{0}

    if (form.getGyosekiKey() == null && form.getUpdDate() == null) {
      return null;
    }

    T gyPaperTbl =
        findOne(form.getGyosekiKey(), userInfo.getTargetUserKey(), form.getUpdDateAsTimestamp());
    if (gyPaperTbl == null) {
      return null;
    }
    logger.infoCode("I0002"); // I0002=メソッド終了:{0}
    return getPortfolioForm(gyPaperTbl);
  }
 @Transactional
 public boolean delete(UserInfo userInfo, F form) {
   logger.infoCode("I0001");
   try {
     if (form.getPageMode().equals(CommonConst.PAGE_MODE_DELETE)) {
       T entity =
           findOne(
               form.getGyosekiKey(), userInfo.getTargetUserKey(), form.getUpdDateAsTimestamp());
       if (entity == null) {
         String objInfo = "key=" + form.getGyosekiKey() + " updDate=" + form.getUpdDate();
         logger.errorCode("E1009", "entity donot find " + objInfo); // E1009=削除に失敗しました。{0}
         return false;
       }
       repository.delete(entity.getGyosekiKey());
       repository.flush();
       logger.infoCode("I0002");
       return true;
     }
   } catch (Exception e) {
     logger.errorCode("E1009", e); // E1009=削除に失敗しました。{0}
   }
   return false;
 }