针对JPA的活动记录模式 ActiveJPA

码农软件 · 软件分类 · ORM/持久层框架 · 2019-09-24 12:13:19

软件介绍

ActiveJPA基于JPA,提供了Martin Fowler所提出的活动记录模式(Active Record pattern)的Java实现。借助于ActiveJPA,模型本身会作为DAO并与数据库交互,这样就不需要额外的代码作为数据访问层了。

ActiveJPA使用到了JPA规范,因此所有JPA的ORM实现(Hibernate、EclipseLink、OpenJPA等)都可以与ActiveJPA协同使用。

示例代码:

// Get order by id
Order order = Order.findById(12345L);

// Get all orders for a customer that are shipped
List<Order> orders = Order.where("customer_email", "dummyemail@dummy.com", "status", "shipped");

// Get all orders for the product category 'books' and paginate it
Filter filter = new Filter();
filter.setPageNo(1);
filter.setPerPage(25);
filter.addCondition(new Condition("orderItems.product.category", Operator.eq, "books");
List<Order> orders = Order.where(filter);

// Count of orders matching the filter
Long count = Order.count(filter);

// Get the first order matching the filter
Long count = Order.first("customer_email", "dummyemail@dummy.com", "status", "shipped");

// Get the unique order matching the conditions
Long count = Order.one("customer_email", "dummyemail@dummy.com", "status", "shipped");

// Dump everything
List<Order> orders = Order.all();

// Delete all orders matching the filter
Long count = Order.deleteAll(filter);

// Check if order exists with the given identifier
boolean exists = Order.exists(1234L);

// Save order
order.setBillingAmount(1000.0);
order.persist();

// Delete order
order.delete();

// Update attributes
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put("billingAmount", 1000.0);
order.updateAttributes(attributes);

// Find order item by id within an order
order.collections("order_items").findById(123L);

// Search order items by filter with an order
order.collections("order_items").findById(filter);

....
....

本文地址:https://www.codercto.com/soft/d/15293.html

Laravel框架关键技术解析

Laravel框架关键技术解析

陈昊、陈远征、陶业荣 / 电子工业出版社 / 2016-7 / 79.00元

《Laravel框架关键技术解析》以Laravel 5.1版本为基础,从框架技术角度介绍Laravel构建的原理,从源代码层次介绍Laravel功能的应用。通过本书的学习,读者能够了解Laravel框架实现的方方面面,完成基于该框架的定制化应用程序开发。 《Laravel框架关键技术解析》第1章到第4章主要介绍了与Laravel框架学习相关的基础部分,读者可以深入了解该框架的设计思想,学习环......一起来看看 《Laravel框架关键技术解析》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换