Interface MarketEventRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<MarketEvent, Long>, org.springframework.data.jpa.repository.JpaRepository<MarketEvent, Long>, org.springframework.data.repository.ListCrudRepository<MarketEvent, Long>, org.springframework.data.repository.ListPagingAndSortingRepository<MarketEvent, Long>, org.springframework.data.repository.PagingAndSortingRepository<MarketEvent, Long>, org.springframework.data.repository.query.QueryByExampleExecutor<MarketEvent>, org.springframework.data.repository.Repository<MarketEvent, Long>

@Repository public interface MarketEventRepository extends org.springframework.data.jpa.repository.JpaRepository<MarketEvent, Long>
Data-access layer for MarketEvent.
Version:
3.0.6
Author:
Stephen Prizio
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Deletes market events within the given half-open interval.
    Looks up a MarketEvent by its date and content value.
    Returns a List of MarketEvent within the given start & end dates.
    int
    upsertMarketEvent(LocalDateTime dateTime, String content, String marketEventSeverity, String country, String forecast, String previous)
    Inserts or updates an existing MarketEvent.

    Methods inherited from interface org.springframework.data.repository.CrudRepository

    count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, save

    Methods inherited from interface org.springframework.data.jpa.repository.JpaRepository

    deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlush

    Methods inherited from interface org.springframework.data.repository.ListCrudRepository

    findAll, findAllById, saveAll

    Methods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository

    findAll

    Methods inherited from interface org.springframework.data.repository.PagingAndSortingRepository

    findAll

    Methods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor

    count, exists, findAll, findBy, findOne
  • Method Details

    • findMarketEventsWithinInterval

      @Query("SELECT me FROM MarketEvent me WHERE me.dateTime >= ?1 AND me.dateTime < ?2 ORDER BY me.dateTime ASC") List<MarketEvent> findMarketEventsWithinInterval(LocalDateTime start, LocalDateTime end)
      Returns a List of MarketEvent within the given start & end dates.
      Parameters:
      start - LocalDate start
      end - LocalDate ned
      Returns:
      List of MarketEvent
    • deleteMarketEventsWithinInterval

      @Modifying(flushAutomatically=true) @Transactional @Query("DELETE FROM MarketEvent me WHERE me.dateTime >= ?1 AND me.dateTime < ?2") int deleteMarketEventsWithinInterval(LocalDateTime start, LocalDateTime end)
      Deletes market events within the given half-open interval.
      Parameters:
      start - inclusive interval start
      end - exclusive interval end
      Returns:
      number of deleted entities
    • findMarketEventByDateTimeAndContentAndCountry

      MarketEvent findMarketEventByDateTimeAndContentAndCountry(LocalDateTime dateTime, String content, Country country)
      Looks up a MarketEvent by its date and content value.
      Parameters:
      dateTime - LocalDateTime
      content - content
      country - Country
      Returns:
      nullable MarketEvent
    • upsertMarketEvent

      @Modifying(flushAutomatically=true) @Transactional @Query(value=" INSERT INTO market_events (\n date_time,\n content,\n severity,\n country,\n forecast,\n previous\n )\n VALUES (\n :dateTime,\n :content,\n :marketEventSeverity,\n :country,\n :forecast,\n :previous\n )\n ON CONFLICT (date_time, content, country)\n DO UPDATE SET\n severity = EXCLUDED.severity,\n forecast = EXCLUDED.forecast,\n previous = EXCLUDED.previous,\n modified_at = GREATEST(\n market_events.created_at,\n clock_timestamp() AT TIME ZONE 'UTC'\n )\n WHERE\n market_events.severity IS DISTINCT FROM EXCLUDED.severity\n OR market_events.forecast IS DISTINCT FROM EXCLUDED.forecast\n OR market_events.previous IS DISTINCT FROM EXCLUDED.previous\n", nativeQuery=true) int upsertMarketEvent(@Param("dateTime") LocalDateTime dateTime, @Param("content") String content, @Param("marketEventSeverity") String marketEventSeverity, @Param("country") String country, @Param("forecast") String forecast, @Param("previous") String previous)
      Inserts or updates an existing MarketEvent.
      Parameters:
      dateTime - date and time
      content - content
      marketEventSeverity - MarketEventSeverity
      country - Country
      forecast - forecasted value
      previous - previous value
      Returns:
      number of entities inserted/updated