Hibernate 最大値をもつオブジェクトを検索するクライテリア

元ネタ(未検証) http://forum.springframework.org/archive/index.php/t-37235.html

↓こうしたいらしい
select * from Invoice where InvoiceDate = (select Max(InvoiceDate) from Invoice)

こんなんどうよ、という答え
DetachedCriteria maxQuery = DetachedCriteria.forClass( Invoice.class );
maxQuery.setProjection( Projections.max( "InvoiceDate" ) );

Criteria query = getSession().createCriteria( Invoice.class );
query.add( Property.forName( "InvoiceDate" ).eq( maxQuery ) );

アーカイブ

Powered by Movable Type 4.22-ja