public static GenericDocumentJournalLineDao store(
      BlgDataSourceConfig blgDsFactory, GenericDocumentJournalLineDao ObjToStore) {
    if (ObjToStore == null) {
      return null;
    }
    try (Connection connection = blgDsFactory.getConnection()) {
      String query =
          "INSERT INTO "
              + GenericDocumentJournalLineDao.TABLE_NAME
              + " VALUES(→guid,→guid_doc_hdr,→guid_doc_line,→guid_glcode,→descr,→remarks,→amount_debit,→amount_credit,→comp_guid,→branch_txn_guid,→store_guid,→profit_center_guid,→segment_guid,→project_guid,→dimension_guid,→position_id,→date_txn,→log_json::jsonb,→status,→reference_num,→tx_type)";
      NamedParameterStatement stmt = new NamedParameterStatement(connection, query);
      stmt.setString("guid", ObjToStore.getGuid());
      stmt.setString("guid_doc_hdr", ObjToStore.getGuid_doc_hdr());
      stmt.setString("guid_doc_line", ObjToStore.getGuid_doc_line());
      stmt.setString("guid_glcode", ObjToStore.getGuid_glcode());
      stmt.setString("descr", ObjToStore.getDescr());
      stmt.setString("remarks", ObjToStore.getRemarks());
      stmt.setBigDecimal("amount_debit", ObjToStore.getAmount_debit());
      stmt.setBigDecimal("amount_credit", ObjToStore.getAmount_credit());
      stmt.setString("comp_guid", ObjToStore.getComp_guid());
      stmt.setString("branch_txn_guid", ObjToStore.getBranch_txn_guid());
      stmt.setString("store_guid", ObjToStore.getStore_guid());
      stmt.setString("profit_center_guid", ObjToStore.getProfit_center_guid());
      stmt.setString("segment_guid", ObjToStore.getSegment_guid());
      stmt.setString("project_guid", ObjToStore.getProject_guid());
      stmt.setString("dimension_guid", ObjToStore.getDimension_guid());
      stmt.setString("position_id", ObjToStore.getPosition_id());
      stmt.setTimestamp("date_txn", ObjToStore.getDate_txn());
      stmt.setString("log_json", ObjToStore.getLog_json());
      stmt.setString("status", ObjToStore.getStatus());
      stmt.setString("reference_num", ObjToStore.getReference_num());
      stmt.setString("tx_type", ObjToStore.getTx_type());
      int i = stmt.executeUpdate();

      if (i != 1) {
        throw new RuntimeException("Insert failed");
      }
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
    return getObject(blgDsFactory, ObjToStore.getGuid());
  }