Ujorm - new high performance ORM for Java

Let me to introduce a new open source ORM framework for Java called Ujorm. I have created the ORM solution especially for a rapid development of persistent layer, however the first performance tests show that some types of SELECT query are very fast in comparison to its competitors. Next features are: the type safe parameters in the query, small memory footprint and the minimum size of the entire solution.

After the publication of UJO architecture it became clear that it would be difficult to gain the favor of developers, without more services. Therefore I started to form a new ORM solution that would evaluate its interesting features and I believe now this result has much to offer.

I hope that you will not be angry if I compare my solution with the popular Hibernate. The motivation presentation is here:

Results of benchmark tests are in the following table, details of testing can be found in the presentation.

Action Ujorm 0.90 Hibernate 3.3.1 Ratio
single select0.37 s0.82 s2.2
empty selects1.2 s156 s126.6
multi select21 s173 s8.1
insert10 s12 s1.2
delete82 s215 s2.6
update8 s4 s0.5

Descriptions of actions:
  • single select - a one big select for all order items (with a condition)
  • empty selects - 2000 selects with the empty result - where a condition contains different parameter values
  • multi select - many different selects to emulate a server application or statements with no optimization
  • insert - insert 2000 orders, 14000 items and 1 user
  • delete - execution many statements to delete all table rows
  • update - modify and save a loaded BO

ORM home page:

Link to the source code:

Link to FAQ:

Your suggestions and comments are welcome. If you are interested to cooperation please contact the author at: ujoframework(at)gmail.com .



subbanarasa said...


Will you support XML based mapping files like hbm files in Hibernate?


Ponec said...

Yes, the Ujorm supports a mapping by XML with another format than HBM.

See the FAQ for more information:

or a sample of the mapping file: