Persistence4J 1.0 发布,Java持久层框架

红薯
 红薯
发布于 2010年08月26日
收藏 3

persistence4j 是一个小型、轻量级的 Java 对象持久层类库,实现关系数据库和 Java 对象之间的持久化。

该版本修正了 0.1 版本的大量bug,在 API 也做了很多改进,支持 PostgreSQL MySQLApache Derby 数据库。

示例代码:

//First lets create a simple pojo which you like to persist.
@Entity(table="book")
public class Book{
@Column(isPrimaryKey=true)
private String isbn;
@Column
private String title;
@Column
private int authorid;
public Book(){

}
public Book(String isbn, String title, int authorid){
 
this.isbn = isbn;
 
this.title = title;
 
this.authorid = authorid;
}
// getters
}

DataProviderFactory dataProviderFactory = new DataProviderFactoryImpl(config);
String databaseName = "library";
String dbmsName = "mysql"
boolean isTransactional = false;
DataProvider dataProvider =  dataProviderFactory.getDataProvider(databaseName, dbmsName, isTransactional);

// Now lets create a object of Book class and persist it
Book book = new Book("123432","TestBook",5);
TransferUtil.registerClass(Book.class, database);
GenericDAO<Book> genericDAO = new GenericDaoImpl<Book>(dataProvider.getDataFetcher());

//Persist Book
genericDAO
.createEntity(book);

//Remove Book
genericDAO
.deleteEntity(book);

//Test if Entity Exists
genericDAO
.isEntityExists(book);

// findByPrimaryKey
Object obj[] = new Object[1];
obj
[0] = "123432";
genericDAO
.findByPrimaryKey(Book.class, obj);

//If you want to use transactions.This how to get TransactionService.Make sure
//isTransactional variable should be true and underlying dbms supports ACID.

TransactionService ts = dataProvider.getTransactionService();
try{
    ts
.beginTransaction();
    genericDAO
.createEntity(book);
    ts
.commitTransaction();
}catch(Exception exp){
ts
.rollbackTransaction();
}

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Persistence4J 1.0 发布,Java持久层框架
加载中

最新评论(3

老盖
老盖
这东西太猛了,从0.1直接1.0了
红薯
红薯

引用来自“懒萝卜”的评论

都有个JPA了,还来干啥?

百花齐放,这是一个轻量级的持久层框架。
拉轰的萝卜
拉轰的萝卜
都有个JPA了,还来干啥?
返回顶部
顶部