Spring boot OneToOne mapping probléma

0 értékelés
58 megtekintés
wilderness (14 pont) kérdezte Feb 7.
Sziasztok!

Egy olyan problémával kapcsolatban kérnék segítséget, hogy adott lenne egy CRUD-os projekt, ami egy adatbázisból kilistázza az adatokat egy jsp oldalon táblázat szerűen. A probléma ott kezdődik, hogy 1-1 táblát külön külön kitudok listázni, de ha két táblát megpróbálok összekapcsolni ott már tanácstalan vagyok. Tömérdek tutorialt végignéztem ezzel kapcsolatban, de egyszerűen nem találtam rá megoldást.

A forrás projektet az alábbi linken megtudjátok nézni.

https://drive.google.com/open?id=1SVhLQJHX--g3byLqJqJZns7FYQovnisK

Segítségetek köszönöm!

1 Válasz

0 értékelés
wia Haladó Felhasználó (201 pont) válaszolta meg Feb 7.
wilderness kiválasztva Feb 7.
 
Legjobb válasz

Szia,

A könyvek objektumnak át kellene adni az authors objektumot => books.setSzerzo(authors); Plusz az authorsba beírni valami izgalmasat.

Nekem az alábbi kód:

 @PostMapping("/save")
    public ModelAndView doSave(@RequestParam("cim") String cim, @RequestParam("oldalszam") Integer oldalszam,@RequestParam("kiadaseve") Integer kiadaseve){
        ModelAndView mv = new ModelAndView("redirect:/");
        Books books = new Books();
        Authors authors = new Authors();
        authors.setNev("Jani");
        authors.setCipoMeret(43);
        authors.setBooks(books);
        books.setCim(cim);
        books.setOldalSzam(oldalszam);
        books.setKiadasEve(kiadaseve);
        books.setSzerzo(authors);
        br.save(books);
        return mv;
    }

Az alábbi eredményt produkálta: (így gondoltad?)

Még annyi, hogy én h2 adatbázissal próbáltam, de feltételezem, hogy a fentebbi kódrészlet mysql alatt is ugyanúgy kellene, hogy működjön.
Illetve javaslom, hogy az authors és books osztályaid inkább legyenek egyes számban, mert ha jól látom végül is mindegyik csak egy darab könyvet illetve írót ábrázol, és egy írónak általában több könyve van, így a OneToMany,ManyToOne lehet célravezetőbb lenne, vagy ha egy könyvnek több szerzője is lehetne az alkalmazásodban, akkor ManyToMany mindkétoldalról.

wilderness (14 pont) szólt hozzá Feb 7.
Szia!

Köszönöm a segítséget, most már valóban az történik amit szerettem volna :)
Az észrevételedet osztom én is, hogy eléggé elcseszett egy példa OneToOne--nal és nem túl életszerű a dolog, de otthoni gyakorlásnak kaptuk és hirtelen értelmesebb példa nem akadt :D
...