One problem with container-managed persistence in EJB 1.0 was that the bean developer had to define the primary key before the bean was deployed.
This requirement forced the developer to make assumptions about the environment in which the bean would be used, and thus it limited the bean's portability across databases.