One way to do it would be to add a new property to your class mapping for your lowercase property.
Code:
<property name="lowerCasePropertyName" insert="false" lazy="true" update="false">
<formula>
( lower(some_column_name) )
</formula>
</property>
You'll have to have at least dummy getters and setters in your Java class. If you don't care about always getting the property back as lowercase, you can add the formula directly to the real property itself.
Then in your code, you'd have something like this:
Code:
criteria.addOrder(Order.asc("lowerCasePropertyName"));