Ujorm 1.22發布 Java的輕量級ORM框架
作者:紅薯
Ujorm是一個新的開源Java版ORM框架,Ujorm的作者目標是開發一個足夠敏捷的ORM框架作為Java應用的持久層,以適合快速迭代開發的敏捷團隊。
Ujorm 1.22 發布,改進內容:
- The UjoProperty interface extends the CriterionMaker now for a simpler Criterion building.
- A new annotation parameter called converter can be assigned for a special reading data from/to ResultSet.
- A new method UjoComparator.sort() is implemented, as well as a better type safe using Java generics.
- Solid database names of foreign columns name constraints are implemented.
- The right parameter of Criterion can be an indirect property.
- The default implementation toString() of the AbstractUjo object is improved
Ujorm是一個新的開源Java版ORM框架,Ujorm的作 者目標是開發一個足夠敏捷的ORM框架作為Java應用的持久層,以適合快速迭代開發的敏捷團隊。Ujorm的第一個優勢是性能上的優勢,從一個簡單的 SELECT來時,Ujorm的性能要遠遠高于同類框架。當然Ujorm還包括有:類型安全的查詢參數,更小的性能開銷,和最簡化的實體解決方案。
[代碼] 保存數據
- OrmHandler.getInstance().loadDatabase(Database.class);
- Order order = new Order();
- order.setDate(new Date());
- order.setDescr("John's order");
- Item item1 = new Item();
- item1.setOrder(order);
- item1.setDescr("Yellow table");
- Item item2 = new Item();
- item2.setOrder(order);
- item2.setDescr("Green window");
- Session session = OrmHandler.getInstance()
- .createSession();
- session.save(order);
- session.save(item1);
- session.save(item2);
- session.commit();
- session.close();
[代碼] 查詢數據
- Criterion<Item> cn1, cn2, criterion;
- cn1 = Criterion.where( Item.ID, Operator.GE, 1L );
- cn2 = Criterion.where( Item.ORDER.add(Order.DESCR)
- , "John's order" ); // Equals to
- criterion = cn1.and(cn2);
- Session session = OrmHandler.getInstance()
- .createSession();
- Query<Item> items = session.createQuery(criterion)
- .orderBy ( Item.ORDER.add(Order.CREATED)
- , Item.ID.descending() );
- System.out.println( "Row count: " + items.getCount());
- for (Item item : items) {
- String descr = item.getDescr();
- Date created = item.getOrder().getDate();
- System.out.println( created + " : " + descr );
- }
- session.close();
[代碼] 排序
- OrmHandler hr = OrmHandler.getInstance();
- MetaColumn col = (MetaColumn)
- hr.findColumnModel(Order.DESCR);
- StringBuilder msg = new StringBuilder()
- .append("Length : " + col.getMaxLength() + '\n')
- .append("NotNull: " + col.isMandatory() + '\n')
- .append("PrimKey: " + col.isPrimaryKey() + '\n')
- .append("DB name: " + col.getFullName() + '\n')
- ;
- System.out.println(msg);
原文鏈接:http://www.oschina.net/news/25177/ujorm-1-2-2-java-orm-framework
【編輯推薦】
責任編輯:林師授
來源:
開源中國社區