Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Please add any relevant technologies and some information about them!

Data persistence / query

  • [ Hibernate|]

Hibernate gives you transparent persistence for Plain Old Java Objects. 'Transparent' here refers to the fact that it works through it's own session objects - you don't have to change a line of your java code to make a class persistent. There are all sorts of developments afoot with respect to queries in hibernate, but the basic mechanism is to use Hibernate Query Language, a minimal modification of SQL to make it more objecty. It can make navigating persistent object graphs very much easier. e.g. "Find me bitstreams of type 'application/pdf' on Items submitted by 'Fred loggs'" would be something like this is HQL: -


select b from itstream b where b.format.MIMEType='application/pdf' and'Fred loggs';

I don't like to think what it would be in SQL. You can also deal with graphs of objects without worrying too much - hibernate can cascade updates and maintain one-to-many and many-to-many relationships: -


Item i = new Item();

  • [ iBatis (Data Mapper Framework)|]
    iBatis is able to work with any existing database model: the translation between POJO classes and SQL requests is parameterized in external XML files. iBatis could be used right away without changing the current database structure and would ease a lot adding new tables / functions to the DSpace application. Changes to source code could be systematic and straightforward. iBatis is also compatible with .NET and Ruby. I will experiment on this by adding a subject mapping tool to DSpace search interface: I will report on this and this could be discussed further then. Christophe.Dupriez 12:53, 23 April 2007 (EDT)

Metadata serialisation format