80:
According to Oracle description of the pattern, consequences include eliminating inter-entity relationships, improving manageability by reducing entity beans, improving network performance, reducing database schema dependency, increasing object granularity, facilitating composite transfer object
62:
A coarse-grained object is an object with its own life cycle manages its own relationships to other objects. It can be an object contained in the composite entity, or, composite entity itself can be the coarse-grained object which holds dependent objects.
39:
71:
It is an object, which can contain other dependent objects (there may be a tree of objects within the composite entity), that depends on the coarse-grained object and has its life cycle managed by the coarse-grained object.
26:
and it is used to model, represent, and manage a set of interrelated persistent objects rather than representing them as individual fine-grained entity beans, and also a composite entity bean represents a graph of objects.
120:
Sample code for a
Professional Service Automation application (PSA) in which the resource object is implemented via composite entity pattern, may look like as follows (entity implements coarse-grained object):
104:, implementation of the ejbStore() method needs to be smart enough to avoid issuing all the updates required to persist the entire state of the object, unless the data has changed in all the persistent objects.
35:
There are a number of strategies to implement composite entity pattern. This pattern mainly composites of composite entity, coarse-grained object, and dependent objects.
54:
Composite entity is the coarse-grained entity bean which may be the coarse-grained object, or may contain a reference to the coarse-grained object.
108:
Composite entity pattern can only be implemented using BMP or by adding more hand-coded persistence logic to container managed persistence (CMP)
38:
2503:
3028:
3136:
3053:
20:
3001:
2826:
2625:
2719:
2849:
2809:
2496:
2819:
2814:
3094:
2932:
101:
97:
materializing all the data in a coarse-grained entity whenever it is accessed, is unacceptably expensive
2709:
2917:
2912:
2739:
2445:
2957:
2889:
2539:
2489:
2859:
2831:
2769:
2754:
2734:
2670:
2512:
23:
2836:
2764:
2714:
2549:
3115:
3018:
2864:
2844:
2789:
2927:
2884:
2879:
2869:
2779:
2413:
8:
2967:
2952:
2947:
2804:
2689:
2635:
3089:
3068:
2977:
2874:
2724:
2617:
2569:
2531:
2759:
2602:
2592:
2587:
2559:
2554:
3058:
2799:
2744:
2665:
2655:
2645:
2640:
3048:
2994:
2972:
2749:
2704:
2675:
2650:
2630:
2577:
2544:
2520:
93:. This involves more work for developers, and create some problems as follows:
3033:
2894:
2597:
2582:
3130:
2854:
2699:
2660:
2607:
3110:
3073:
2962:
2937:
2729:
2481:
3063:
3038:
3023:
2942:
2774:
89:
The fatal drawback is the requirement of bean-managed persistent (BMP)
3043:
109:
90:
81:
creation and overhead of multi-level dependent object graphs.
112:. These both approaches reduce the maintainability.
1674:// copy values from Transfer Object into entity bean
2475:. Indianapolis: Wiley Publishing, Inc. p. 290.
3128:
939:// Remove the resource from the persistent store
360:// Collection of BlockOutTime Dependent objects
2040:// similar to addBlockOutTime() implementation
2497:
2473:Expert One-on-One J2EE Design and Development
1737:// If skillSets is not loaded, load it first.
1311:// Load other dependent objects, if necessary
49:
2511:
2232:// compare key values to locate BlockOutTime
1950:// BlockOutTimeTO already exists, cannot add
1719:// Method to get dependent Transfer Objects
375:// Collection of SkillSet Dependent objects
2504:
2490:
2265:// replace old BlockOutTimeTO with new one
1740:// See Lazy Load strategy implementation.
1533:// Method to Get Resource Transfer Object
2440:
2438:
2436:
2434:
2432:
2430:
2428:
1551:// create a new Resource Transfer Object
57:
2470:
2446:"Core J2EE Patterns - Composite Entity"
3129:
2464:
1758:// other get and set methods as needed
42:Composite entity pattern class diagram
2485:
2425:
1797:// Note: moreBOTs is a collection of
405:// Entity Bean methods implementation
1407:// Store dependent objects as needed
66:
2388:// similar to updateBlockOutTime...
2262:// Found BlockOutTime in collection
1908:// add BlockOutTimeTO to collection
13:
37:
14:
3148:
3002:Enterprise Integration Patterns
1764:// Entity bean business methods
75:
1263:// load the resource info from
115:
1:
2419:
1386:// Store resource information
138:corepatterns.apps.psa.core.*
84:
30:
7:
3095:Portland Pattern Repository
2407:
762:// Remove dependent objects
147:corepatterns.apps.psa.dao.*
10:
3153:
50:Composite entity component
3103:
3082:
3011:
2986:
2903:
2788:
2688:
2616:
2568:
2530:
2519:
1800:// BlockOutTimeTO objects
129:corepatterns.apps.psa.ejb
3137:Software design patterns
2720:Event-based asynchronous
2513:Software design patterns
2280://modified old dependent
123:
2626:Chain of responsibility
729:ObjectNotFoundException
24:Software design pattern
2765:Scheduled-task pattern
2715:Double-checked locking
43:
3116:Architectural pattern
3019:Christopher Alexander
2295://not a new dependent
2076:BlockOutTimeException
1959:BlockOutTimeException
1791:BlockOutTimeException
1464:BlockOutTimeException
1029:BlockOutTimeException
58:Coarse-grained object
41:
2928:Dependency injection
2885:Inversion of control
2880:Data transfer object
2780:Thread-local storage
2471:Johnson, R. (2003).
2414:Data transfer object
2933:Intercepting filter
2382:CommitmentException
1578:// copy all values
1488:"Reason:"
1446:"Reason:"
1350:"Reason:"
1053:"Reason:"
1011:"Reason:"
678:"Reason:"
567:ejbFindByPrimaryKey
531:"Reason:"
3090:The Hillside Group
2875:Data access object
2725:Guarded suspension
2710:Binding properties
2058:updateBlockOutTime
1893:blockOutTimeExists
1143:unsetEntityContext
888:getBlockOutTimeDAO
633:selectByPrimaryKey
44:
3124:
3123:
2918:Business delegate
2850:Publish–subscribe
2684:
2683:
2034:SkillSetException
1422:SkillSetException
987:ResourceException
67:Dependent objects
3144:
2923:Composite entity
2800:Front controller
2540:Abstract factory
2528:
2527:
2506:
2499:
2492:
2483:
2482:
2477:
2476:
2468:
2462:
2461:
2459:
2457:
2442:
2401:
2398:
2395:
2392:
2389:
2386:
2383:
2380:
2377:
2374:
2371:
2368:
2365:
2362:
2359:
2356:
2353:
2350:
2347:
2344:
2341:
2338:
2335:
2332:
2329:
2326:
2323:
2320:
2317:
2314:
2311:
2308:
2305:
2302:
2299:
2296:
2293:
2290:
2287:
2284:
2281:
2278:
2275:
2272:
2269:
2266:
2263:
2260:
2257:
2254:
2251:
2248:
2245:
2242:
2239:
2236:
2233:
2230:
2227:
2224:
2221:
2218:
2215:
2212:
2209:
2206:
2203:
2200:
2197:
2194:
2191:
2188:
2185:
2182:
2179:
2176:
2173:
2170:
2167:
2164:
2161:
2158:
2155:
2152:
2149:
2146:
2143:
2140:
2137:
2134:
2131:
2128:
2125:
2122:
2119:
2116:
2113:
2110:
2107:
2104:
2101:
2098:
2095:
2092:
2089:
2086:
2083:
2080:
2077:
2074:
2071:
2068:
2065:
2062:
2059:
2056:
2053:
2050:
2047:
2044:
2041:
2038:
2035:
2032:
2029:
2026:
2023:
2020:
2017:
2014:
2011:
2008:
2005:
2002:
1999:
1996:
1993:
1990:
1987:
1984:
1981:
1978:
1975:
1972:
1969:
1966:
1963:
1960:
1957:
1954:
1951:
1948:
1945:
1942:
1939:
1936:
1933:
1930:
1927:
1924:
1921:
1918:
1915:
1912:
1909:
1906:
1903:
1900:
1897:
1894:
1891:
1888:
1885:
1882:
1879:
1876:
1873:
1870:
1867:
1864:
1861:
1858:
1855:
1852:
1849:
1846:
1843:
1840:
1837:
1834:
1831:
1828:
1825:
1822:
1819:
1816:
1813:
1810:
1807:
1804:
1801:
1798:
1795:
1792:
1789:
1786:
1783:
1780:
1777:
1774:
1773:addBlockOutTimes
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1728:getSkillSetsData
1726:
1723:
1720:
1717:
1714:
1711:
1708:
1705:
1702:
1699:
1696:
1693:
1690:
1687:
1684:
1681:
1678:
1675:
1672:
1669:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1591:
1588:
1585:
1582:
1579:
1576:
1573:
1570:
1567:
1564:
1561:
1558:
1555:
1552:
1549:
1546:
1543:
1540:
1537:
1534:
1531:
1528:
1525:
1522:
1519:
1516:
1513:
1510:
1507:
1504:
1501:
1498:
1495:
1492:
1489:
1486:
1483:
1480:
1477:
1474:
1471:
1468:
1465:
1462:
1459:
1456:
1453:
1450:
1447:
1444:
1441:
1438:
1435:
1432:
1429:
1426:
1423:
1420:
1417:
1414:
1411:
1408:
1405:
1402:
1399:
1396:
1393:
1390:
1387:
1384:
1381:
1378:
1375:
1372:
1369:
1366:
1363:
1360:
1357:
1354:
1351:
1348:
1345:
1342:
1339:
1336:
1333:
1330:
1327:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1294:
1291:
1288:
1285:
1282:
1279:
1276:
1273:
1270:
1267:
1264:
1261:
1258:
1255:
1252:
1249:
1246:
1243:
1240:
1237:
1234:
1231:
1228:
1225:
1222:
1219:
1216:
1213:
1210:
1207:
1204:
1201:
1198:
1195:
1192:
1189:
1186:
1183:
1180:
1177:
1174:
1171:
1168:
1165:
1162:
1159:
1156:
1153:
1150:
1147:
1144:
1141:
1138:
1135:
1132:
1129:
1126:
1123:
1120:
1117:
1114:
1111:
1108:
1105:
1102:
1099:
1098:setEntityContext
1096:
1093:
1090:
1087:
1084:
1081:
1078:
1075:
1072:
1069:
1066:
1063:
1060:
1057:
1054:
1051:
1048:
1045:
1042:
1039:
1036:
1033:
1030:
1027:
1024:
1021:
1018:
1015:
1012:
1009:
1006:
1003:
1000:
997:
994:
991:
988:
985:
982:
979:
976:
973:
970:
967:
964:
961:
958:
955:
952:
949:
946:
943:
940:
937:
934:
931:
928:
925:
922:
919:
916:
913:
910:
907:
904:
901:
898:
895:
892:
889:
886:
883:
880:
877:
874:
871:
868:
865:
862:
859:
856:
853:
850:
847:
844:
841:
838:
835:
832:
829:
826:
823:
820:
817:
814:
811:
808:
805:
802:
799:
796:
793:
790:
787:
784:
781:
778:
775:
772:
769:
766:
763:
760:
757:
754:
751:
748:
745:
742:
739:
736:
733:
730:
727:
724:
721:
718:
715:
712:
709:
706:
703:
700:
697:
694:
691:
688:
685:
682:
679:
676:
673:
670:
667:
664:
661:
658:
655:
652:
649:
646:
643:
640:
637:
634:
631:
628:
625:
622:
619:
616:
613:
610:
607:
604:
601:
598:
595:
592:
589:
586:
583:
580:
577:
574:
571:
568:
565:
562:
559:
556:
553:
550:
547:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
514:
511:
508:
505:
502:
499:
496:
493:
490:
487:
484:
481:
478:
475:
472:
469:
466:
463:
460:
457:
454:
451:
448:
445:
442:
439:
436:
433:
430:
427:
424:
421:
418:
415:
412:
409:
406:
403:
400:
397:
394:
391:
388:
385:
382:
379:
376:
373:
370:
367:
364:
361:
358:
355:
352:
349:
346:
343:
340:
337:
334:
331:
328:
325:
322:
319:
316:
313:
310:
307:
304:
301:
298:
295:
292:
289:
286:
283:
280:
277:
274:
271:
268:
265:
262:
259:
256:
253:
250:
247:
244:
241:
238:
235:
232:
229:
226:
223:
220:
217:
214:
211:
208:
205:
202:
199:
196:
193:
190:
187:
184:
181:
178:
175:
172:
169:
166:
163:
160:
157:
154:
151:
148:
145:
142:
139:
136:
133:
130:
127:
17:Composite entity
3152:
3151:
3147:
3146:
3145:
3143:
3142:
3141:
3127:
3126:
3125:
3120:
3099:
3078:
3069:Douglas Schmidt
3049:Ward Cunningham
3007:
2995:Design Patterns
2982:
2973:Method chaining
2905:
2899:
2860:Service locator
2791:
2784:
2755:Read–write lock
2691:
2680:
2671:Template method
2612:
2564:
2522:
2515:
2510:
2480:
2469:
2465:
2455:
2453:
2444:
2443:
2426:
2422:
2410:
2403:
2402:
2399:
2396:
2393:
2390:
2387:
2384:
2381:
2378:
2375:
2372:
2369:
2366:
2363:
2360:
2357:
2354:
2351:
2348:
2345:
2342:
2339:
2336:
2333:
2330:
2327:
2324:
2321:
2318:
2315:
2312:
2309:
2306:
2303:
2300:
2297:
2294:
2291:
2288:
2285:
2282:
2279:
2276:
2273:
2270:
2267:
2264:
2261:
2258:
2255:
2252:
2249:
2246:
2243:
2240:
2237:
2234:
2231:
2228:
2225:
2222:
2219:
2216:
2213:
2210:
2207:
2204:
2201:
2198:
2195:
2192:
2189:
2186:
2183:
2180:
2177:
2174:
2171:
2168:
2165:
2162:
2159:
2156:
2153:
2150:
2147:
2144:
2141:
2138:
2135:
2132:
2129:
2126:
2123:
2120:
2117:
2114:
2111:
2108:
2105:
2102:
2099:
2096:
2093:
2090:
2087:
2084:
2081:
2078:
2075:
2072:
2069:
2066:
2063:
2060:
2057:
2054:
2051:
2048:
2045:
2042:
2039:
2036:
2033:
2030:
2027:
2024:
2021:
2018:
2015:
2012:
2009:
2006:
2003:
2000:
1997:
1994:
1991:
1988:
1985:
1982:
1979:
1976:
1973:
1970:
1967:
1964:
1961:
1958:
1955:
1952:
1949:
1946:
1943:
1940:
1937:
1934:
1931:
1928:
1925:
1922:
1919:
1916:
1913:
1910:
1907:
1904:
1901:
1898:
1895:
1892:
1889:
1886:
1883:
1880:
1877:
1874:
1871:
1868:
1865:
1862:
1859:
1856:
1853:
1850:
1847:
1844:
1841:
1838:
1835:
1832:
1829:
1826:
1823:
1820:
1817:
1814:
1811:
1808:
1805:
1802:
1799:
1796:
1793:
1790:
1787:
1784:
1781:
1778:
1775:
1772:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1721:
1718:
1715:
1712:
1709:
1706:
1703:
1700:
1697:
1694:
1691:
1688:
1685:
1682:
1679:
1676:
1673:
1670:
1667:
1664:
1661:
1658:
1656:setResourceData
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1601:
1598:
1595:
1592:
1589:
1586:
1583:
1580:
1577:
1574:
1571:
1568:
1565:
1562:
1559:
1556:
1553:
1550:
1547:
1544:
1541:
1538:
1535:
1532:
1529:
1526:
1523:
1520:
1517:
1514:
1511:
1508:
1505:
1502:
1499:
1496:
1493:
1490:
1487:
1484:
1481:
1478:
1475:
1472:
1469:
1466:
1463:
1460:
1457:
1454:
1451:
1448:
1445:
1442:
1439:
1436:
1433:
1430:
1427:
1424:
1421:
1418:
1415:
1412:
1409:
1406:
1403:
1401:getResourceData
1400:
1397:
1394:
1391:
1388:
1385:
1382:
1379:
1376:
1373:
1370:
1367:
1364:
1361:
1358:
1355:
1352:
1349:
1346:
1343:
1340:
1337:
1334:
1331:
1328:
1325:
1322:
1319:
1316:
1313:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1283:
1281:setResourceData
1280:
1277:
1274:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1250:
1247:
1244:
1241:
1238:
1235:
1232:
1229:
1226:
1223:
1220:
1217:
1214:
1211:
1208:
1205:
1202:
1199:
1196:
1193:
1190:
1187:
1184:
1181:
1178:
1175:
1172:
1169:
1166:
1163:
1160:
1157:
1154:
1151:
1148:
1145:
1142:
1139:
1136:
1133:
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1067:
1064:
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
983:
980:
977:
974:
971:
968:
965:
962:
959:
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
920:
917:
914:
912:blockouttimeDAO
911:
908:
905:
902:
899:
896:
894:blockouttimeDAO
893:
890:
887:
884:
882:blockouttimeDAO
881:
879:BlockOutTimeDAO
878:
875:
872:
869:
866:
863:
860:
857:
854:
851:
848:
845:
842:
839:
836:
833:
830:
827:
824:
821:
818:
815:
812:
809:
806:
803:
800:
797:
794:
791:
788:
785:
782:
779:
776:
773:
770:
767:
764:
761:
758:
755:
752:
749:
746:
743:
740:
737:
734:
731:
728:
725:
722:
719:
716:
713:
710:
707:
704:
701:
698:
695:
692:
689:
686:
683:
680:
677:
674:
671:
668:
665:
662:
659:
656:
653:
650:
647:
644:
641:
638:
635:
632:
629:
626:
623:
620:
617:
614:
611:
608:
605:
602:
599:
596:
593:
590:
587:
585:FinderException
584:
581:
578:
575:
572:
569:
566:
563:
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
530:
527:
524:
521:
518:
515:
512:
509:
506:
503:
500:
497:
494:
491:
488:
485:
482:
479:
476:
473:
470:
468:setResourceData
467:
464:
461:
458:
455:
452:
449:
446:
443:
440:
437:
434:
432:CreateException
431:
428:
425:
422:
419:
416:
413:
410:
407:
404:
401:
398:
395:
392:
389:
386:
383:
380:
377:
374:
371:
368:
365:
362:
359:
356:
353:
350:
347:
344:
341:
338:
335:
332:
329:
326:
323:
320:
317:
314:
311:
308:
305:
302:
299:
296:
293:
290:
287:
284:
281:
278:
275:
272:
269:
266:
263:
260:
257:
254:
251:
248:
245:
242:
239:
236:
233:
230:
227:
224:
221:
218:
215:
212:
209:
206:
203:
200:
197:
194:
191:
188:
185:
182:
179:
176:
173:
170:
167:
164:
161:
158:
155:
152:
149:
146:
143:
140:
137:
134:
131:
128:
125:
118:
87:
78:
69:
60:
52:
46:
33:
12:
11:
5:
3150:
3140:
3139:
3122:
3121:
3119:
3118:
3113:
3107:
3105:
3101:
3100:
3098:
3097:
3092:
3086:
3084:
3080:
3079:
3077:
3076:
3071:
3066:
3061:
3056:
3051:
3046:
3041:
3036:
3034:John Vlissides
3031:
3026:
3021:
3015:
3013:
3009:
3008:
3006:
3005:
2998:
2990:
2988:
2984:
2983:
2981:
2980:
2975:
2970:
2965:
2960:
2955:
2950:
2945:
2940:
2935:
2930:
2925:
2920:
2915:
2909:
2907:
2901:
2900:
2898:
2897:
2892:
2887:
2882:
2877:
2872:
2867:
2862:
2857:
2852:
2847:
2842:
2834:
2829:
2824:
2823:
2822:
2817:
2807:
2802:
2796:
2794:
2786:
2785:
2783:
2782:
2777:
2772:
2767:
2762:
2757:
2752:
2747:
2742:
2737:
2732:
2727:
2722:
2717:
2712:
2707:
2702:
2696:
2694:
2686:
2685:
2682:
2681:
2679:
2678:
2673:
2668:
2663:
2658:
2653:
2648:
2643:
2638:
2633:
2628:
2622:
2620:
2614:
2613:
2611:
2610:
2605:
2600:
2595:
2590:
2585:
2580:
2574:
2572:
2566:
2565:
2563:
2562:
2557:
2552:
2550:Factory method
2547:
2542:
2536:
2534:
2525:
2517:
2516:
2509:
2508:
2501:
2494:
2486:
2479:
2478:
2463:
2423:
2421:
2418:
2417:
2416:
2409:
2406:
2364:updateSkillSet
2214:BlockOutTimeTO
2202:BlockOutTimeTO
2163:BlockOutTimeTO
2151:BlockOutTimeTO
1863:BlockOutTimeTO
1851:BlockOutTimeTO
1389:getResourceDAO
1275:getResourceDAO
801:getSkillSetDAO
615:getResourceDAO
480:getResourceDAO
204:ResourceEntity
192:javax.naming.*
124:
117:
114:
106:
105:
98:
86:
83:
77:
74:
68:
65:
59:
56:
51:
48:
32:
29:
9:
6:
4:
3:
2:
3149:
3138:
3135:
3134:
3132:
3117:
3114:
3112:
3109:
3108:
3106:
3102:
3096:
3093:
3091:
3088:
3087:
3085:
3081:
3075:
3072:
3070:
3067:
3065:
3062:
3060:
3059:Robert Martin
3057:
3055:
3054:Martin Fowler
3052:
3050:
3047:
3045:
3042:
3040:
3037:
3035:
3032:
3030:
3029:Ralph Johnson
3027:
3025:
3022:
3020:
3017:
3016:
3014:
3010:
3004:
3003:
2999:
2997:
2996:
2992:
2991:
2989:
2985:
2979:
2976:
2974:
2971:
2969:
2966:
2964:
2961:
2959:
2956:
2954:
2951:
2949:
2946:
2944:
2941:
2939:
2936:
2934:
2931:
2929:
2926:
2924:
2921:
2919:
2916:
2914:
2911:
2910:
2908:
2902:
2896:
2893:
2891:
2888:
2886:
2883:
2881:
2878:
2876:
2873:
2871:
2868:
2866:
2865:Active record
2863:
2861:
2858:
2856:
2855:Naked objects
2853:
2851:
2848:
2846:
2845:Specification
2843:
2841:
2839:
2835:
2833:
2830:
2828:
2825:
2821:
2818:
2816:
2813:
2812:
2811:
2808:
2806:
2803:
2801:
2798:
2797:
2795:
2793:
2790:Architectural
2787:
2781:
2778:
2776:
2773:
2771:
2768:
2766:
2763:
2761:
2758:
2756:
2753:
2751:
2748:
2746:
2743:
2741:
2738:
2736:
2733:
2731:
2728:
2726:
2723:
2721:
2718:
2716:
2713:
2711:
2708:
2706:
2703:
2701:
2700:Active object
2698:
2697:
2695:
2693:
2687:
2677:
2674:
2672:
2669:
2667:
2664:
2662:
2659:
2657:
2654:
2652:
2649:
2647:
2644:
2642:
2639:
2637:
2634:
2632:
2629:
2627:
2624:
2623:
2621:
2619:
2615:
2609:
2606:
2604:
2601:
2599:
2596:
2594:
2591:
2589:
2586:
2584:
2581:
2579:
2576:
2575:
2573:
2571:
2567:
2561:
2558:
2556:
2553:
2551:
2548:
2546:
2543:
2541:
2538:
2537:
2535:
2533:
2529:
2526:
2524:
2518:
2514:
2507:
2502:
2500:
2495:
2493:
2488:
2487:
2484:
2474:
2467:
2451:
2447:
2441:
2439:
2437:
2435:
2433:
2431:
2429:
2424:
2415:
2412:
2411:
2405:
2097:blockOutTimes
1542:getResourceTO
1512:ejbPostCreate
1203:getPrimaryKey
1104:EntityContext
924:blockOutTimes
900:setResourceID
813:setResourceID
396:EntityContext
369:blockoutTimes
270:practiceGroup
122:
113:
111:
103:
99:
96:
95:
94:
92:
82:
73:
64:
55:
47:
40:
36:
28:
25:
22:
18:
3111:Anti-pattern
3074:Linda Rising
3000:
2993:
2938:Lazy loading
2922:
2870:Identity map
2837:
2521:Gang of Four
2472:
2466:
2454:. Retrieved
2449:
2404:
2346:EJBException
1998:EJBException
1923:blockOutTime
1629:departmentId
1623:departmentId
1482:EJBException
1440:EJBException
1344:EJBException
1218:ejbPassivate
1047:EJBException
1005:EJBException
864:blockoutTime
672:EJBException
525:EJBException
258:departmentId
119:
107:
88:
79:
76:Consequences
70:
61:
53:
45:
34:
16:
15:
3083:Communities
3064:Jim Coplien
3039:Grady Booch
3024:Erich Gamma
2968:Type tunnel
2953:Object pool
2948:Null object
2943:Mock object
2805:Interceptor
2775:Thread pool
2690:Concurrency
2636:Interpreter
2298:existingBOT
2241:existingBOT
2205:existingBOT
2016:addSkillSet
1293:resourceDAO
1269:resourceDAO
1266:ResourceDAO
1173:ejbActivate
966:resourceDAO
954:ResourceDAO
945:resourceDAO
942:ResourceDAO
825:skillSetDAO
807:skillSetDAO
795:skillSetDAO
792:SkillSetDAO
627:resourceDAO
609:resourceDAO
606:ResourceDAO
183:javax.ejb.*
174:java.util.*
165:javax.sql.*
116:Sample code
2978:Delegation
2913:Blackboard
2618:Behavioral
2570:Structural
2532:Creational
2456:6 February
2420:References
2370:Collection
2064:Collection
2025:moreSkills
2022:Collection
1779:Collection
1725:Collection
1701:resourceTO
1689:employeeId
1683:resourceTO
1677:employeeId
1665:resourceTO
1662:ResourceTO
1641:resourceTO
1617:resourceTO
1599:resourceTO
1581:resourceTO
1572:employeeId
1566:ResourceTO
1557:resourceTO
1554:ResourceTO
1539:ResourceTO
1518:ResourceTO
1305:employeeId
1287:ResourceTO
1227:employeeId
1182:employeeId
960:employeeId
906:employeeId
819:employeeId
708:primaryKey
639:primaryKey
576:primaryKey
552:employeeId
462:employeeId
450:employeeId
420:ResourceTO
381:Collection
366:Collection
222:employeeId
210:EntityBean
207:implements
156:java.sql.*
3044:Kent Beck
2770:Semaphore
2760:Scheduler
2603:Flyweight
2593:Decorator
2588:Composite
2560:Singleton
2555:Prototype
2373:updSkills
2328:Exception
1983:exception
1980:Exception
1746:skillSets
1611:firstName
1605:firstName
1326:Exception
1074:exception
1071:Exception
918:deleteAll
837:skillSets
831:deleteAll
777:skillSets
747:ejbRemove
654:Exception
507:Exception
414:ejbCreate
384:skillSets
354:managerId
246:firstName
85:Drawbacks
31:Structure
3131:Category
3104:See also
2906:patterns
2792:patterns
2745:Proactor
2692:patterns
2666:Strategy
2656:Observer
2646:Mediator
2641:Iterator
2523:patterns
2452:. Oracle
2408:See also
2289:resetNew
2274:setDirty
2124:iterator
2109:Iterator
2103:iterator
2088:Iterator
1869:moreIter
1836:moreIter
1824:iterator
1818:moreBOTs
1812:moreIter
1809:Iterator
1782:moreBOTs
1707:lastName
1695:lastName
1593:lastName
1587:lastName
1521:resource
1371:ejbStore
492:resource
474:resource
456:resource
423:resource
234:lastName
2958:Servant
2890:Model 2
2750:Reactor
2740:Monitor
2705:Balking
2676:Visitor
2651:Memento
2631:Command
2578:Adapter
2545:Builder
2220:botIter
2193:hasNext
2187:botIter
2169:updIter
2142:hasNext
2136:updIter
2118:updBOTs
2112:updIter
2091:botIter
2067:updBOTs
1842:hasNext
1248:ejbLoad
1197:context
1152:context
1128:context
1122:context
1107:context
591:boolean
399:context
393:private
126:package
21:Java EE
3012:People
2895:Broker
2598:Facade
2583:Bridge
2450:Oracle
2379:throws
2358:public
2349:(...);
2247:equals
2073:throws
2052:public
2031:throws
2010:public
2001:(...);
1962:(...);
1917:setNew
1788:throws
1767:public
1743:return
1722:public
1650:public
1638:return
1536:public
1506:public
1395:update
1365:public
1242:public
1212:public
1191:String
1167:public
1137:public
1092:public
972:delete
741:public
732:(...);
705:return
696:result
621:result
594:result
582:throws
573:String
564:String
561:public
543:return
486:create
429:throws
411:String
408:public
378:public
363:public
351:String
348:public
339:String
336:public
327:String
324:public
315:String
312:public
303:String
300:public
291:String
288:public
279:String
276:public
267:String
264:public
255:String
252:public
243:String
240:public
231:String
228:public
219:String
216:public
198:public
189:import
180:import
171:import
162:import
153:import
144:import
135:import
2987:Books
2904:Other
2840:-tier
2661:State
2608:Proxy
2340:throw
2322:catch
2304:botTO
2283:botTO
2268:botTO
2253:botTO
2181:while
2154:botTO
2130:while
1992:throw
1974:catch
1953:throw
1935:botTO
1911:botTO
1899:botTO
1854:botTO
1830:while
1494:...);
1476:throw
1458:catch
1452:...);
1434:throw
1416:catch
1356:...);
1338:throw
1320:catch
1065:catch
1059:...);
1041:throw
1023:catch
1017:...);
999:throw
981:catch
723:throw
684:...);
666:throw
648:catch
537:...);
519:throw
501:catch
342:pager
318:phone
306:email
294:grade
282:title
201:class
110:beans
19:is a
2963:Twin
2820:MVVM
2735:Lock
2730:Join
2458:2016
2361:void
2226:next
2175:next
2055:void
2013:void
1944:else
1875:next
1770:void
1653:void
1509:void
1404:());
1368:void
1299:load
1245:void
1233:null
1215:void
1170:void
1158:null
1140:void
1116:this
1095:void
930:null
870:null
858:this
843:null
783:null
771:this
744:void
717:else
546:this
444:this
330:cell
102:Java
91:bean
2832:ECS
2827:ADR
2815:MVP
2810:MVC
2397:...
2391:...
2343:new
2331:exc
2292:();
2277:();
2229:();
2196:())
2178:();
2145:())
2127:();
2106:();
2082:try
2049:...
2043:...
1995:new
1956:new
1929:add
1920:();
1902:)))
1878:();
1845:())
1827:();
1803:try
1761:...
1755:...
1713:...
1635:...
1563:new
1500:...
1479:new
1437:new
1410:...
1392:().
1380:try
1341:new
1314:...
1308:));
1278:();
1257:try
1206:();
1083:...
1044:new
1002:new
975:();
951:new
921:();
891:();
834:();
804:();
756:try
726:new
669:new
618:();
600:try
522:new
483:().
438:try
390:...
100:In
3133::
2448:.
2427:^
2256:))
2235:if
1938:);
1881:if
1731:()
1575:);
1545:()
1467:ex
1425:ex
1374:()
1329:ex
1284:((
1251:()
1221:()
1176:()
1146:()
1032:ex
990:ex
963:);
909:);
867:!=
852:if
822:);
780:!=
765:if
750:()
690:if
657:ex
642:);
510:ex
495:);
477:);
2838:n
2505:e
2498:t
2491:v
2460:.
2400:}
2394:}
2385:{
2376:)
2367:(
2355:}
2352:}
2337:{
2334:)
2325:(
2319:}
2316:}
2313:}
2310:}
2307:;
2301:=
2286:.
2271:.
2259:{
2250:(
2244:.
2238:(
2223:.
2217:)
2211:(
2208:=
2199:{
2190:.
2184:(
2172:.
2166:)
2160:(
2157:=
2148:{
2139:.
2133:(
2121:.
2115:=
2100:.
2094:=
2085:{
2079:{
2070:)
2061:(
2046:}
2037:{
2028:)
2019:(
2007:}
2004:}
1989:{
1986:)
1977:(
1971:}
1968:}
1965:}
1947:{
1941:}
1932:(
1926:.
1914:.
1905:{
1896:(
1890:(
1887:!
1884:(
1872:.
1866:)
1860:(
1857:=
1848:{
1839:.
1833:(
1821:.
1815:=
1806:{
1794:{
1785:)
1776:(
1752:}
1749:;
1734:{
1716:}
1710:;
1704:.
1698:=
1692:;
1686:.
1680:=
1671:{
1668:)
1659:(
1647:}
1644:;
1632:;
1626:=
1620:.
1614:;
1608:=
1602:.
1596:;
1590:=
1584:.
1569:(
1560:=
1548:{
1530:}
1527:{
1524:)
1515:(
1503:}
1497:}
1491:+
1485:(
1473:{
1470:)
1461:(
1455:}
1449:+
1443:(
1431:{
1428:)
1419:(
1413:}
1398:(
1383:{
1377:{
1362:}
1359:}
1353:+
1347:(
1335:{
1332:)
1323:(
1317:}
1302:(
1296:.
1290:)
1272:=
1260:{
1254:{
1239:}
1236:;
1230:=
1224:{
1209:}
1200:.
1194:)
1188:(
1185:=
1179:{
1164:}
1161:;
1155:=
1149:{
1134:}
1131:;
1125:=
1119:.
1113:{
1110:)
1101:(
1089:}
1086:}
1080:{
1077:)
1068:(
1062:}
1056:+
1050:(
1038:{
1035:)
1026:(
1020:}
1014:+
1008:(
996:{
993:)
984:(
978:}
969:.
957:(
948:=
936:}
933:;
927:=
915:.
903:(
897:.
885:=
876:{
873:)
861:.
855:(
849:}
846:;
840:=
828:.
816:(
810:.
798:=
789:{
786:)
774:.
768:(
759:{
753:{
738:}
735:}
720:{
714:}
711:;
702:{
699:)
693:(
687:}
681:+
675:(
663:{
660:)
651:(
645:}
636:(
630:.
624:=
612:=
603:{
597:;
588:{
579:)
570:(
558:}
555:;
549:.
540:}
534:+
528:(
516:{
513:)
504:(
498:}
489:(
471:(
465:;
459:.
453:=
447:.
441:{
435:{
426:)
417:(
402:;
387:;
372:;
357:;
345:;
333:;
321:;
309:;
297:;
285:;
273:;
261:;
249:;
237:;
225:;
213:{
195:;
186:;
177:;
168:;
159:;
150:;
141:;
132:;
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.