エンティティMyEntity
があり、式ベースのプロパティfmlaProp
があります。今、私は基準を作成言う:Hibernate - 数式プロパティによる注文条件
s.createCriteria(MyEntity.class)
.setProjection(
Projections.distinct(
Projections.property("fmlaProp")))
.addOrder(Order.asc("fmlaProp"));
私は、次のSQLを取得する:
SELECT DISTINCT fmlaProp-sql FROM MY_ENTITY_TABLE ORDER BY fmlaProp-sql
ため-による発現は、非選択されていることを言ってオラクルのエラーを与えます。次に、私は次の基準を試しました:
s.createCriteria(MyEntity.class)
.setProjection(
Projections.distinct(
Projections.alias(
Projections.property("fmlaProp"),
"alias1"))
.addOrder(Order.asc("alias1"));
"order by alias1"がうまくいきます。しかし、それは一種の醜いものです。コードは、「一度書いてください」という原則に違反するそれらの数式プロパティを「知る」必要があります。それに関する考えや提案はありますか?前もって感謝します。
'-sql'部分とは何ですか? – cherouvim