就需要開發的組件和每個組件所使用的語言而言,編程模型是什麼樣的?
相對於框架和應用組件而言,持久對象的“生命週期”是什麼樣的?
1. 初始化
在服務實現的內部,需要進行什麼樣的初始化才能夠訪問框架的API?
給出在查詢id=100的客戶(Customer)之前,需要用來初始化框架的代碼。
說明如何使用Derby JDBC驅動程序來設置框架,以及如何使用JNDI名稱jdbc/Derby/DataSource的應用程序的數據源(DataSource)。
2. 鏈接
支持什麼樣的鏈接模型?
給出一個顯示地創建連接的例子,在例子中使用與初始化部分相同的查詢(如果支持這樣做,並且在初始化部分中還沒有給出過該查詢的話)。
說明如何將數據庫連接池的大小設置爲20。
3. 事務
框架支持什麼樣的事務控制?
給出一個這樣的例子,即把兩個更新語句作爲一組放到用戶定義的單個事務中,如果可能的話,請使用如下的更新。
(1) 更新id=100的企業客戶(business customer)信息,設置businessPartnet=false。
(2) 更新客戶的未結訂單(openOrder ),設置status=`SUBMITTED' 。
廢除一個這樣的例子,即配置框架以便能夠使用應用程序服務器的全局事務(例如JTA)。
支持什麼隔離級別?
給出每種支持的隔離級別所需的代碼。
4. 創建
描述在框架內部創建對象的一般方法。
給出創建一個新的租住客戶(ResidentialCustomer)的代碼。
給出創建一個客戶(Customer)擁有的新訂單(Order)的代碼。
5. 檢索
描述在框架內部進行查詢和對象檢索的一般方法。
特別需要明確的是,是否支持動態查詢?
給出檢索匹配給定主鍵的單個客戶(Customer)的代碼。
給出檢索所有“活躍”的客戶(Customer)(具體而言,指所有具有未結訂單(OPEN_ORDER)的客戶(Customer))的代碼。
6. 更新
描述在框架內部更新對象的一般方法。
給出更改單項(LineItem)的數量(quantity)的代碼,具體來說,就是使用給定的客戶ID(customerId)來把單項產品(LineItem)的數量的值更新爲100.
給出把未結訂單(OpenOrder)屬性更改爲Null的代碼。
7. 刪除
描述在框架內部刪除對象的一般方法。
特別需要明確的是,是否支持級聯刪除?
給出刪除單項(LineItem)的代碼。
給出刪除訂單(Order)和所有相關聯的單項(LineItem)(如果支持級聯刪除的話就通過級聯刪除)的代碼。
8. 存儲過程
描述在框架內部調用存儲過程的一般方法。
給出弟阿勇一下的“交換排序”的java存儲過程的代碼。
SwapPojo orderlds=new SwapPojo();
orderlds .setFjrst (orderldl);
orderlds .setSecond (orderld2);
dm.update(”swap .order”,orderlds);
9. 批處理
描述在框架內部支持批處理的一般方法。
批模式支持什麼樣的更新操作?
爲每種支持的操作給出一個例子。
10.框架拓展
使用簡短的接口/API例子描述所有可能的拓展點或插入點。
如果框架支持插入分佈式的緩存框架的話,那麼可以推遲到分佈式緩存部分再給出例子。
11. 錯誤處理
描述處理框架中的異常的一般方法。如果可能的話,考慮加入一個UML類圖或者用你喜歡的符號描述的類圖來說明其層次體系。