0

私はかなり標準的なOrdersテーブルと関連するOrderRowsテーブルを持っています。

Orders
[id] INTEGER
[name] ...

OrderRows
[orderId] INTEGER
[quantity] INTEGER
[unitPrice] SMALLMONEY
[description] VARCHAR(...)

状況によっては、注文のリストと合計の要約を取得したい場合がありますが、ほとんどの場合、要約は気にしません。

Criteria APIを使用して、注文ごとに[数量] * [unitPrice]の予測を作成できますが、同じ結果セットで注文と予測の両方を取得するにはどうすればよいですか?

4

2 に答える 2

0

エンティティで合計を計算し、データベースにも保存できます (毎回すべての行をロードしたくない場合)。

于 2009-11-23T09:08:22.283 に答える
0

ここでの解決策は、DTO クラスを作成し、それを結果の変換として使用することだと思います。

public class OrderDTO
{
    int Id;
    // Rest of Orders properties you want

    int LineTotal; // [quantity]*[unitPrice]

    public OrderDTO(int id, /* rest of constructor parameters */);
}

session.CreateCriteria(typeof(... /* criteria query here */))
    .SetResultTransformer(new AliasToBeanConstructorResultTransormer(typeof(OrderDTO).GetConstructors()[0]));
于 2009-05-18T14:10:53.600 に答える