How to use UJO objects in the ORM framework Hibernate?
What may be the reason to replace traditional POJO objects by more invasive alternative?
The Ujorm (original name was UJO Framework) is an open source Java small library which provides non-traditional objects based on the key‑value architecture to open up new exciting opportunities for writing efficient code. The Ujorm have got special ORM module designed for rapid Java development with great performance and a small footprint. The key features are type safe queries, relation mapping by Java code, no entity states, and a memory overloading protection cache.
2009-10-23
2009-08-30
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: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.
http://ujoframework.org/presentation/
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 select | 0.37 s | 0.82 s | 2.2 |
empty selects | 1.2 s | 156 s | 126.6 |
multi select | 21 s | 173 s | 8.1 |
insert | 10 s | 12 s | 1.2 |
delete | 82 s | 215 s | 2.6 |
update | 8 s | 4 s | 0.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:
http://ujoframework.org/orm/
Link to the source code:
https://sourceforge.net/projects/ujoframework/files/
Link to FAQ:
http://ujoframework.org/dokuwiki/doku.php?id=orm_faq
Your suggestions and comments are welcome. If you are interested to cooperation please contact the author at: ujoframework(at)gmail.com .
Pavel
Pavel
2009-05-29
UJO Framework release 0.85
The UJO Framework was essentially extended to version 0.85. This release can be used in a Maven structure project by the dependency tag:
<dependency>
<groupid>org.ujoframework</groupid>
<artifactid>ujo-core</artifactid>
<version>0.85.00</version>
</dependency>
The most importat changes are:
- the first Map & Ujo implementation called MapImplUjo is published
- new annotation @XmlElementBody supports a XML body value now
- List serialization of the plain objects is supported, e.g. List<Integer>
- text serialization of the type java.sql.Date is supported
- interface UjoProperty has new methods for a direction of sorting: isAscending(), descending()
- new method UjoPropertyList.isItemTypeOf(Class) tests that property type is a type (or subtype) of the parameter
- new interface UjoMiddle extends the Ujo interface in four methods (set, get, setText, getText)
Subscribe to:
Posts (Atom)