Ujorm 1.22發(fā)布 Java的輕量級(jí)ORM框架
Ujorm 1.22 發(fā)布,改進(jìn)內(nèi)容:
- 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是一個(gè)新的開(kāi)源Java版ORM框架,Ujorm的作 者目標(biāo)是開(kāi)發(fā)一個(gè)足夠敏捷的ORM框架作為Java應(yīng)用的持久層,以適合快速迭代開(kāi)發(fā)的敏捷團(tuán)隊(duì)。Ujorm的第一個(gè)優(yōu)勢(shì)是性能上的優(yōu)勢(shì),從一個(gè)簡(jiǎn)單的 SELECT來(lái)時(shí),Ujorm的性能要遠(yuǎn)遠(yuǎn)高于同類(lèi)框架。當(dāng)然Ujorm還包括有:類(lèi)型安全的查詢參數(shù),更小的性能開(kāi)銷(xiāo),和最簡(jiǎn)化的實(shí)體解決方案。
[代碼] 保存數(shù)據(jù)
- 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();
[代碼] 查詢數(shù)據(jù)
- 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
【編輯推薦】