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 TypeMethodDescriptionintDeletes market events within the given half-open interval.findMarketEventByDateTimeAndContentAndCountry(LocalDateTime dateTime, String content, Country country) Looks up aMarketEventby its date and content value.findMarketEventsWithinInterval(LocalDateTime start, LocalDateTime end) Returns aListofMarketEventwithin the given start & end dates.intupsertMarketEvent(LocalDateTime dateTime, String content, String marketEventSeverity, String country, String forecast, String previous) Inserts or updates an existingMarketEvent.Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, saveMethods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlushMethods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAllMethods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAllMethods 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 aListofMarketEventwithin the given start & end dates.- Parameters:
start-LocalDatestartend-LocalDatened- Returns:
ListofMarketEvent
-
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 startend- exclusive interval end- Returns:
- number of deleted entities
-
findMarketEventByDateTimeAndContentAndCountry
MarketEvent findMarketEventByDateTimeAndContentAndCountry(LocalDateTime dateTime, String content, Country country) Looks up aMarketEventby its date and content value.- Parameters:
dateTime-LocalDateTimecontent- contentcountry-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 existingMarketEvent.- Parameters:
dateTime- date and timecontent- contentmarketEventSeverity-MarketEventSeveritycountry-Countryforecast- forecasted valueprevious- previous value- Returns:
- number of entities inserted/updated
-