Введение
"Entity Bean" - это тип Enterprise JavaBean, компонент Java EE на стороне сервера, который представляет постоянные данные, хранящиеся в базе данных. Субъект может управлять собственной персистенцией (Bean managed persistence) или может делегировать эту функцию своему EJB-контейнеру (Container managed persistence). Сущность bean идентифицируется первичным ключом. Если контейнер, в котором размещен entity bean, потерпит крах, entity bean, его первичный ключ и любые удаленные ссылки переживут крах. В EJB 3.0 entity beans были заменены Java Persistence API (который впоследствии был полностью отделен от собственной спецификации по EJB 3.1). Entity Beans были помечены как кандидат для обрезки с Java EE 6 и, следовательно, считаются устаревшей технологией. Entity Beans до EJB 2.0 не должны использоваться в большом количестве, потому что каждый Entity Bean был фактически RMI-колонкой с собственным RMI-соединением с сервером EJB. Получение 1000 entity beans в качестве одной операции приведет к 1000 одновременным интернет-соединениям с RMI, так как TCP/IP поддерживает только 65536 портов, вы по существу ограничены использованием 65536 entity beans за раз. Например, если клиентское приложение хочет контролировать состояние 1024 записей базы данных, ему потребуется 1024 ссылок на объекты и, следовательно, 1024 подключений RMI к серверу EJB, сервер EJB, в свою очередь, должен будет поддерживать все 1024 подключения от каждого клиентского приложения и будет ограничен обслуживанием не более 64 клиентских приложений, в этот момент все дальнейшие подключения к Интернету будут проигнорированы. Эти ограничения невозможно преодолеть при использовании entity beans над RMI.