when ejbFindByPrimary() method finds an instance of bean from the instances pool,it loads persistent fields from database ,how about other properties of the bean instance(Like ejbActivate() method ,values of no persistent fields are dirty value?).
The ejbFindByPrimaryKey is *invoked* on some instance from the pool. This instance is *not* the instance that represents (or that will represent) the bean with the specified PK. Any member values of the instance running the finder (any finder, not just by PK) are undefined, and the bean must not use them. The finder does not load the information from the DB.
The instance that will *represent* the bean found by a finder is activated as usual, regardless of how it was found. This includes the activation protocol (which may or may not be needed, depending on system state and App server's commit option).