私の分析から得たDTOパターンとは、データ転送オブジェクトパターンであることをアドバイスしてください。Hibernateで特別に、または他のJavaの例で、その例を教えてください。ありがとう
質問する
1643 次
1 に答える
3
DTO は、EJB 2.1 (まとめて Sun Blueprint Catalog として知られている) に見られるひどい永続性に対する回避策の 1 つです。エンティティ Bean からデータを抽出し、それをデータ層に渡すために使用されます。その層からのデータは DTO に配置され、エンティティ Bean に入れられます。これは、Bean 管理の永続性のみを対象としています。
これが、DTO の公式な意味でした。今日、これはバックエンドからフロントエンドへのデータ転送にも見られます (クライアント/サーバー アーキテクチャ)。
これを Hibernate で使用する場合は、必要な列を選択するためのクエリ/条件を作成AliasToBeanResultTransformer
し、DTO でこれらの列を設定するために を使用します。Hibernate ドキュメントの例:
List resultWithAliasedBean =
s.createCriteria(Enrolment.class)
.createAlias("student", "st")
.createAlias("course", "co")
.setProjection(
Projections.projectionList()
add( Projections.property("co.description"), "courseDescription" )
)
.setResultTransformer( new AliasToBeanResultTransformer(StudentDTO.class) )
.list();
StudentDTO dto = (StudentDTO)resultWithAliasedBean.get(0);
于 2012-07-31T17:20:51.103 に答える