Support for case when ... then ... else ... end when using projections
----------------------------------------------------------------------
Key: HHH-4113
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-4113
Project: Hibernate Core
Issue Type: New Feature
Affects Versions: 3.3.2
Reporter: Dobes Vandermeer
Attachments: CaseWhenProjection.java, ConstantProjection.java
I have a colleciton of queries that are mostly the same except for one part of the
condition, and I decided to convert them to using the criteria API so I didn't have to
copy/paste the entire text of the query all over the place. The only missing features
were:
1. Support for case when ... then ... else ... end in the select clauses/projections
2. Support for constants in the projections
So, I added them.
There are a couple hacks in there that could be eliminated if you were willing to change
the guts of the criteria system a little bit - particularly to allow projections to add
'?' values to the SQL query and to make it easier to tell a projection not to emit
as "as" clause. These changes would support other compound projections such as
negation, add, subtract, divide. Why not support expressions like "sum(case when x
then -y else z end)" ... ?
I thought I'd share these to benefit anyone else out there who might run into the same
issue, or to serve as an example to work from if the hibernate contributors are interested
in incorporating this into the core.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira