Archived / Obsolete Documentation

Documentation in this space is no longer accurate.
Looking for official DSpace documentation? See all documentation

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Please add any relevant technologies and some information about them!

Data persistence / query

  • [ Hibernate|http://www.hibernate.org/]

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 b.item.submitter.name='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();
i.setOwner(context.getEPerson());
i.addCollection(coll1);
hibernateSession.save(info);

  • [ iBatis (Data Mapper Framework)|http://ibatis.apache.org/]
    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

Modularity

  • No labels