Hi,
I got an Java application using SQL tables that contains an ordered list of entities, ordered by an order column. I would like to add/remove things in/from the middle of the list. Now, I'm wondering if some persistence framework / orm / you-name-it could provide this kind of functionality with batch update of order column.
At the basic case Hibernate (and probably others also) provide this functionality. The problem is that the objects are handled one at time, which becomes problem when the list is large enough. Alternate solution would be to do the thing with a batch SQL update, like the following for example:
UPDATE table SET order_col = order_col + 1 WHERE order_col > 47
INSERT TO table VALUES ('new_id', 'new_description, ..., 47)
which is done quite fast by the database engine but isn't supported.
Now, I understand that this kind of batch updates don't fit so well when thinking the objects and their versioning, dirty checking etc. I'd still ask if somebody has some nice ideas or if some persistence framework / ORM / you-name-it would provide some help. Of course I can do the thing with custom SQL/HQL/... but was wondering if there would be some solution already (I'd think somebody else could have done something like this before and even put it under open source). Also other good ideas related to the problem are welcome =)