• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Inicjowanie Apache Derby początkowymi danymi - Spring Boot

Object Storage Arubacloud
0 głosów
355 wizyt
pytanie zadane 15 listopada 2018 w Java przez must Bywalec (2,980 p.)
Hej. Potrzebuje zainicjować embedded data base jakimiś danymi, tak żeby dodawały się gdy aplikacja się odpala. Szukałem po internecie, ale z tego co zdążyłem znaleźć to ludzie tworzyli jakieś pliki w zasobach, a ja chciałbym to zrobić za pomocą po prostu klasy. Używam oczywiście Spring Data JPA.

1 odpowiedź

+1 głos
odpowiedź 15 listopada 2018 przez mbabane Szeryf (79,280 p.)
wybrane 15 listopada 2018 przez must
 
Najlepsza
Najprościej to chyba stworzyć jakąś klasę, która będzie beanem, albo komponentem (@Component), którą odpalisz przy starcie aplikacji, tak jak tutaj ktoś proponuje:

https://stackoverflow.com/questions/27405713/running-code-after-spring-boot-starts

Jest tam też zdaje się kilka innych propozycji więc po patrz sobie i coś wybierz.
komentarz 15 listopada 2018 przez must Bywalec (2,980 p.)
dzięki, popróbuje jak wrócę z uczelni:)
komentarz 15 listopada 2018 przez mbabane Szeryf (79,280 p.)
Albo własnie podczas tworzenia DataSource podać plik z insertami, bo zdaje się, że też się tak da.

https://stackoverflow.com/questions/38040572/spring-boot-loading-initial-data

https://www.baeldung.com/spring-boot-sql-import-files
komentarz 15 listopada 2018 przez must Bywalec (2,980 p.)

Super. Działa. Jakby ktoś chciał użyłem @EventListener(ContextRefreshedEvent.class). Tak dokładnie to u mnie wygląda:

@Component
@Slf4j
public class InitialData {

    private final BookRepository bookRepository;

    @Autowired
    public InitialData(BookRepository bookRepository) {
        this.bookRepository = bookRepository;
    }

    @EventListener(ContextRefreshedEvent.class)
    public void addBooksToDB() {
        log.info("Persisted book data to database");
        bookRepository.save(new Book(
                1, "W pustyni i w puszczy", "lala", "dramat", true));
    }
}
komentarz 16 listopada 2018 przez must Bywalec (2,980 p.)

Podobne pytania

0 głosów
3 odpowiedzi 420 wizyt
pytanie zadane 8 kwietnia 2020 w Java przez JuniorPL Użytkownik (770 p.)
0 głosów
1 odpowiedź 159 wizyt
pytanie zadane 3 kwietnia 2017 w Java przez 0xf Dyskutant (8,180 p.)
0 głosów
3 odpowiedzi 891 wizyt

92,539 zapytań

141,382 odpowiedzi

319,479 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...