サービス層、DTO
First of all why DTO???
-JPAエンティティ・オブジェクトは、データを含むオブジェクトだけでなく、実際のデータベースに関連付けられたエンティティ・マネージャによって内部的に管理されるオブジェクトです.
-DTOがデータを一度に交換する場合とは異なり、ライフサイクルも異なります.
読み書き可能、使い捨て の目的自体がデータ転送です. DTOを使用すると、エンティティオブジェクトの範囲を定義できます.したがって、より安全なコードを記述できます.
-欠点は、エンティティオブジェクトをDTOに変換するか、DTOをエンティティに変換する必要があることです.
※サービス層でDTOタイプを受け入れ、JPAを扱うためにはエンティティタイプのオブジェクトに変換する必要があります.
DTOが受信した情報をエンティティに変換し、JPAを使用できるようになりました.
REGISTER(登録)
DTO->書込みJPA->JPA基本機能SAVE(記憶) 顧客レポート、JPA処理 用最終保存後掲示板番号 に戻る
リスト(LIST)
-JPAエンティティ・オブジェクトは、データを含むオブジェクトだけでなく、実際のデータベースに関連付けられたエンティティ・マネージャによって内部的に管理されるオブジェクトです.
-DTOがデータを一度に交換する場合とは異なり、ライフサイクルも異なります.
DTO
読み書き可能
-欠点は、エンティティオブジェクトをDTOに変換するか、DTOをエンティティに変換する必要があることです.
サービス層の作成
※サービス層でDTOタイプを受け入れ、JPAを扱うためにはエンティティタイプのオブジェクトに変換する必要があります.
DTO->ENTITY(デフォルト)
DTOが受信した情報をエンティティに変換し、JPAを使用できるようになりました.
REGISTER(登録)
-コードの説明-
リスト(LIST)
1.画面に必要なDTO
2.DTOをPageableに変換
3.Page使いやすいDTOリストを画面に変換
4.画面に必要なページ番号
ページリクエストの処理(pageRequest DTO)
JPAを使用すると、ページ番号が0から始まることを考慮して1ページ目で0に設定できます. のソートはパラメータとして使用され、後で様々な状況で再利用される. ページ結果処理DTO(仮)
pageのエンティティオブジェクトをDTOに変換する必要があります. 関数は、エンティティ->DTOに変換する機能です. の複数の方向で使用できます. サービス層/リスト機能/getList()
ENTITY -> DTO
getList()実装(BooleanBuilderは後で使用)
リストデータページの操作画面の開始ページ番号 画面の終了ページ番号(終了) 前/後リンク(prev,next) 現在のページ番号(ページ) 1. 끝번호=> tempEnd=(int)(Math.ceil(페이지번호/10.0)*10
2. 시작번호=> start =temEnd-9
1ページの最後のページ番号:Math.ceil(0.1)10 =10
10ページ目は最終回:Mathです.ceil(1)10 =10
11ページ目の場合、最後の番号:Math.ceil(1.1)*10 =20 ちょっと待って.
※終了番号は実際の終了番号と異なる場合があります
※page<エンティティタイプ>を使用したgetTotalPages()
さあ.
totalPage=result.getTotalPage(); //result=Page
end= totalPage > temEnd ? tempEnd : totalPage
next=toalPage>temEnd//次(次)
上記の内容をpageResultDTOに反映するとこうなります。
Reference
この問題について(サービス層、DTO), 我々は、より多くの情報をここで見つけました
https://velog.io/@wnsqud70/서비스-계층-DTO
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
4.画面に必要なページ番号
ページリクエストの処理(pageRequest DTO)
ページ結果処理DTO(仮)
サービス層/リスト機能/getList()
ENTITY -> DTO
getList()実装(BooleanBuilderは後で使用)
リストデータページの操作
1. 끝번호=> tempEnd=(int)(Math.ceil(페이지번호/10.0)*10
2. 시작번호=> start =temEnd-9
1ページの最後のページ番号:Math.ceil(0.1)10 =1010ページ目は最終回:Mathです.ceil(1)10 =10
11ページ目の場合、最後の番号:Math.ceil(1.1)*10 =20
※終了番号は実際の終了番号と異なる場合があります
※page<エンティティタイプ>を使用したgetTotalPages()
さあ.
totalPage=result.getTotalPage(); //result=Page
end= totalPage > temEnd ? tempEnd : totalPage
next=toalPage>temEnd//次(次)
上記の内容をpageResultDTOに反映するとこうなります。
Reference
この問題について(サービス層、DTO), 我々は、より多くの情報をここで見つけました https://velog.io/@wnsqud70/서비스-계층-DTOテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol