| ... | ... | @@ -92,7 +92,7 @@ Nebo JPR - Java Persistent API (Hibernate je referenční implementace JPA). My |
|
|
|
|
|
|
|
Přidáme si vrstvu data a nějakou databázi. Nepotřebujeme mít nainstalovanou databázi. Buď si ji nainstalujeme nebo ji máme embedded. Nový projekt - DevTools, JPA, H2. Otevřeme build.gradle - přibyl runtimeOnly h2 database - jen při běhu. Přibyl taky plugin do springu - implementace DB. Chybí verze knihoven - Springboot má u sebe takové knihovny, aby se hezky domluvili. Vezmeme si verzi SpringBootu a on se o to postará. New package car a class Car - bude mít spz a id, rok výroby. Když použiju primitivní typ - řeknu Hibernate - nesmí tam být nul, u objektu ano. U id - nechám generování na DB. Musím Javě říct že se objekt ukládá do DB - anotace @Entity javax.persistence (ekvivalent modelu). K id dám @Id a @GeneratedValue - vygeneruj mi. Potřebuju ještě gettery settery - setId nechci. Musí tam být bezparametrický konstruktor. Vygeneruji si toString. Máme entitu.
|
|
|
|
|
|
|
|
Dále potřebuji vygenerovat něco co označím jako Repository - interface CarRepository extends JpaRepository<Car, Long> - co za typ a co mám za ID. Spojovací tabulky se generují samy.
|
|
|
|
Dále potřebuji vygenerovat něco co označím jako Repository - interface CarRepository extends CrudRepository<Car, Long> - co za typ a co mám za ID. Spojovací tabulky se generují samy.
|
|
|
|
|
|
|
|
Do RepositoryApplication - vytvořím bean CommandLineRunner
|
|
|
|
````
|
| ... | ... | @@ -108,7 +108,7 @@ Do RepositoryApplication - vytvořím bean CommandLineRunner |
|
|
|
carRepository.save(car);
|
|
|
|
}
|
|
|
|
System.out.println("Aut v db: " + carRepository.count());
|
|
|
|
System.out.println("Auto: " + carRepository.getOne(3L));
|
|
|
|
System.out.println("Auto: " + carRepository.findById(3L).get());
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
| ... | ... | |