Entities are cached based on the commit option, which is specified in the jboss.xml file. Commit options are defined in the EJB specification, and if I do remember correctly, JBoss 2.X shipped with commit option A as the default. With commit option A the container assumes it is the sole user of the database. Therefore, the container can cache values between transactions. If you are going to change the values externally, you need to change it to commit option B.