科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Java 应用程序开箱即用的对象持久性(4)

Java 应用程序开箱即用的对象持久性(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

StockData 应用程序演示了 Simple Persistence for Java 的基本功能。除此之外, Simple Persistence for Java 库还有一些 StockData 未表现出来的更高级的功能,包括多态性和用户管理事务。

作者:中国IT实验室 来源:中国IT实验室 2007年8月23日

关键字: java 持久性

  • 评论
  • 分享微博
  • 分享邮件

额外功能

    StockData 应用程序演示了 Simple Persistence for Java 的基本功能。除此之外, Simple Persistence for Java 库还有一些 StockData 未表现出来的更高级的功能,包括多态性和用户管理事务。

多态性

在 Simple Persistence for Java 中,想要存储到数据库中的 JavaBean 能够从类中扩展。例如:

public class StockBeanExt extends StockBean
{
  private int totalTrades=0;
  public StockBeanExt()
  {
    // no-argument constructor required by Simple Persistence
  }
  public int getTotalTrades()
  {
    return totalTrades;
  }
  public void setTotalTrades(int totalTrades)
  {
    this.totalTrades=totalTrades;
  }
}

    保存了多个 StockBean 和 StockBeanExt 对象后,目标字段处于 StockBean 类的查询会返回 StockBean 和 StockBeanExt 对象。

用户管理事务

Simple Persistence for Java 库也支持用户管理事务,允许指定事务何时开始,何时执行。以下列事务为例:

Transaction tx = tt.getTransaction(TransactionTracker.TX_REQUIRED);
tx.begin();
try
{
   ...operations...
} catch ( ... ) {
   ... handling code...
   tx.markRollbackOnly();
} finally {
   tx.commit();
}

注意 finally 子句是如何包含 commit 的。这行命令总在执行,即使出现异常也是一样。在 catch() 子句中,markRollbackOnly() 方法指示 commit() 何时被调用,它实际上会用回滚代替提交。

参见 参考资料 了解更多信息和 Simple Persistence for Java v2.1.0 库的其他功能。

结束语

在本文中,我介绍了 Simple Persistence for Java v2.1.0 库,解释了它的基本功能及组件。我还使用该库的定制查询语言和 HSQLDB 数据库演示了一个简单的对象持久性场景,也探讨了该库的一些高级功能。

我发现:Simple Persistence for Java 库简单的 API 和零配置方法极大地简化了对象关系型持久性。如果您需要持久性(尤其是在小的实用项目中)但又想避免编写 SQL、使用持久性框架或在计算机上安装一个独立的数据库,那么,使用带 HSQLDB 数据库的 Simple Persistence for Java v2.1.0 就是一个不错的选择。

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章