Java 开发 2.0: 使用 Amazon SimpleDB 实现云存储,第 2 部分:使用 SimpleJPA 实现简单对象持久化
2010-09-16 00:00:00 来源:WEB开发网现在 Runner 和 Race 都已经可以通过 SimpleJPA 实现进行持久化了。
使用 SimpleJPA 操作 SimpleDB
使用 SimpleJPA 来处理您的域对象在 SimpleDB 中的存储与使用 JPA 实现进行普通的关系数据库存储差别不大。即使您从未使用过 JPA 开发应用,那么对于您来说它也不会有太大的困难。唯一的新东西是要配置 SimpleJPA 的 EntityManagerFactoryImpl,这要求使用您的 Amazon Web Services 证书和您的 SimpleDB 域的前缀名。(另一个方法是在编译路径上增加一个包含您的证书的属性文件。)
在创建一个 SimpleJPA EntityManagerFactoryImpl 实例时使用您指定的前缀名,这样产生的 SimpleDB 域会由您的前缀,加一根横杠,再加域对象名称组成。所以,如果我指定 “b50” 为前缀,而我在 SimpleDB 中创建一个 Race,那么这个域将会是 “b50-Race”。
一旦您创建一个 SimpleDB EntityManagerFactoryImpl 实例,其他方面就由这个接口完成了。您需要使用一个 EntityManager 实例,这个实例是从 EntityManagerFactoryImpl 获取的,如清单 8 所示:
清单 8. 获得一个 EntityManager
Map<String,String> props = new HashMap<String,String>();
props.put("accessKey","...");
props.put("secretKey","..");
EntityManagerFactoryImpl factory =
new EntityManagerFactoryImpl("b50", props);
EntityManager em = factory.createEntityManager();
处理域对象
一旦您拥有了一个 EntityManager 对象,您就可根据需要处理域对象了。例如,我可以像下面一样创建一个 Race 实例:
更多精彩
赞助商链接