Damn, according to The Server-Side, the new XSD syntax for a web application's deployment descriptor (web.xml) has been removed. Or at least that's how I first read it. That would suck, only because it's one of the things I noted as a difference between 2.3 and 2.4. Where did I note it - in the chapters I wrote for Wrox. Doh - get those chapters back from the printing presses!
It's supposed to be a beautiful week in Denver. This means that it's time to dust off the ol' Sugar Momma (Gary Fisher Sugar 3) and start my annual riding to work phase. I didn't get a chance to do it last year b/c I was working from home, and it was a little tough to motivate myself to ride a loop every morning. This year, I've got quite a challenge ahead of me. It's probably about an hour and a half ride to work, and approximately 20 miles. After a month or longer, I should be able to get that down to about an hour or 1:15.
The first year I did this was 2000 and I rode 55 out of the 60 possible days I could've ridden to work. That year, my ride was about an hour, and I got it down to 35-40 minutes by the end of the summer. Then again, it was only about 10 miles. There's really nothing like it - getting to work after watching the sun rise and working your ass off. I can't friggen wait - come on Spring - I'm ready!!
For you Hibernate users/lovers, here's some good news for you (THANKS GAVIN!):
1. [Hibernate Forum] For XDoclet users its well-worth grabbing a CVS update now, I have fixed a bunch of issues and made improvements including Hibernate2 support (thanks to Matt Raible) and joined-subclass support.
2. [Hibernate Dev List]
After a bit of research and thinking, I have settled on an approach to
query by Criteria that hopefully is flexible enough for 80-90% of use
cases, but still simple enough to fit in sufficiently few lines of code.
The proposed new API is based loosely upon the Cayenne API. Queries may be
expressed as follows:
List cats = session.createCriteria(Cat.class)
.add( Expression.like("name", "Izi%" ) )
.add( Expression.between("weight", minWeight, maxWeight) )
.add( Expression.eq( "mate", mate ) )
.addOrder( Order.asc("age") )
.setMaxResults(20)
.list();
Which is approximately equivalent to:
from Cat cat
where cat.name like 'Izi%'
and cat.weight between :minWeight and :maxWeight
and cat.mate = :mate
order by cat.age
This API is marked "experimental", but I would like to stabilize it fairly
soon, so early feedback is very welcome. This is all in CVS.