====== Különbségek ====== A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

develop:coding_standards:java [2020. 12. 02. 09:18:06]
Szabó Gábor létrehozva
develop:coding_standards:java [2020. 12. 02. 10:31:34] (aktuális)
Tóth Gábor JPAQuery és konvertálás
Sor 2: Sor 2:
  
 ==== JPA Query ==== ==== JPA Query ====
-Select összeállítás.+//​QueryDSL//​ használatánál mindig írjuk ki a teljes select-et és mindig soroljuk fel benne az összes oszlopot (//​EntityPath//​-okat),​ amire szükségünk lesz. 
 +Így végeredményként ''​Tuple''​-t kapunk, azon pedig a mappelés során kikérhetjük az oszlopok értékeit (//​EntityPath//​ alapján). 
 + 
 +Példa: 
 +<code java> 
 +new User(tuple.get(QUser.user.id),​ tuple.get(QUser.user.name));​ 
 +</​code>​ 
 + 
 +A //​Projections.bean()//​ használata **nem** javasolt, helyette mappeljük át az eredményt a //fetch// után. 
 + 
 +==== DTO - Entity ==== 
 +Törekedjünk a konverter osztályok használatára. Ez lehet [[https://​projectlombok.org/​features/​experimental/​UtilityClass|@UtilityClass]] vagy akár komponens is. Utóbbi akkor javasolt, ha a konvertálás során szükség van más komponensekre/​szervizekre. 
 + 
 +Konvertálás során setterek helyett **konstruktorokat** használjunk. Ezáltal ha új adattag kerül be és az valahol lemaradna, fordításkor kiderül a hiányosság.