Java Spring MVC 11. Day (Onbirinci Gün)

Java Spring MVC 11. Day (Onbirinci Gün)

model.attribute(“course”,course.getAll())

model.attribute(“id”,course.getId())

thymeleaf

→ <th:object=”course”>

→ <th:field=”*{id}”> → bunun karşılığı “course.id”

→ <th:field=”${id}”> → doğrudan  yolladığımız “id” parametresine erişir

  • Instructor birden fazla kurs sahibi olabilir. Bu yüzden şu şekilde ayarlamalıyız

Instructor → @ManyToMany

Course → @ManyToMany (mappedBy=”courses”)

  • **Set test = new HashSet()** → bunu yapıyoruz çünkü get dediğimizde eğer içi boşsa nullpointer dönebilir. Hashset ile bunu engelliyoruz.

  • Criteria → criteria.add(Restircts.in(“id”,ids) → ids : bizim fonksiyona verdiğimiz liste

“id” : control edeceğimiz kolon adı, parametre

  • Lazyloading → join işlemlerini default olarak azaltmaya çalışıyor. Joinleri başt ayapmıyor. Ana sınıfı çekiyor. Relationları takmıyoruz. Hibernate diyor ki eğer lazım olursa ben gider çekerim o verileri. Yalnız bu yeni bi modül, son hibernate versiyonuyla geldi.

  • Lazyloading kapatırsak 

→ Hibernate.initialize(instructors.getCourses())

→ instructors.getCourses().size() gibi uyduruk bi işlemle load etmesini sağlıyoruz.

DTO → Data Transfer Object : önyüzdeki formumuzu temsil eden bir model nesnemiz. Böylece formda mevcut olan objeleri controllerda parse edip kaydedebiliriz.

Application ve Student nesneleri → ApplicationFormDto olarak gidiyor.

<th:field=”form.student.name”>

<th:field=”form.application.id”> şeklinde çağırabiliriz thymeleafde.