WSB

Programowanie aplikacji Java

Maciej Gowin

Zjazd 7 - zadania dodatkowe

Linki

Opis

https://maciejgowin.github.io/wsb-java/

Kod źródłowy przykładów oraz zadań

https://github.com/MaciejGowin/wsb-programowanie-aplikacji-java

Zadania dodatkowe

Wszystkie zadanie dodatkowe zostały stworzone z myślą utrwalenia materiału przerobionego na zjeździe. Chociaż mogą one zostać rozwiązane na wiele sposobów, zostały skonstruowane w sposób umożliwiający ukończenie ich jedynie przy użyciu poznanych już technik.

Programowanie: zadanie dodatkowe

Stwórz program, który pobierze ścieżki wszystkich plików tekstowych o rozszerzeniu 'txt' z zadanego katalogu. Następnie używając ExecutorService będzie równolegle zliczał ilość wystąpień danych słów w każdym z plików.
Po dokonaniu obliczeń na poszczególnych plikach program powinien zsumować rezultaty, tworząc podsumowanie wystąpień słów w poniższym formacie.

nie: 4
to: 3
słowo: 2

Programowanie: zadanie dodatkowe

Stwórz program bazodanowy przy użyciu biblioteki Hibenate dla poniższego problemu.

Rozszerzony system rezerwacji biletów, w którym definiujemy klientów oraz umożliwiamy przypisywanie rezerwacji do klientów.

Zdefiniuj pełną strukturę relacji na encjach oraz zapytania do bazy danych przy pomocy HQL, pozwalające na wyszukanie następujących danych:

  • całkowity kosz rezerwacji dla danego klienta
  • całkowity kosze rezerwacji na każdą ze ścieżek dla danego klienta
  • uszeregowaną listę klientów, którzy wydali więcej niż 100 e w każdym miesiącu
  • listę klientów, którzy zakupili choć jeden bilet każdego roku w zadanym przedziale
  • uszeregowaną listę klientów, na podstawie średniej ceny ich rezerwacji
  • uszeregowaną listę klientów, na podstawie różnorodności ścieżek rezerwacji
  • uszeregowaną listę klientów, na podstawie maksymalnej częstotliwości rezerwacji dla unikatowej ścieżki

Przepisz zapytania HQL na zapytania wykorzystujące CriteriaBuilder.