If all access to the database is through your app this is fairly straightforward. Add a refresh method to your object. Then have any methods that update the tables also call this method to let the object know that there has been a change. (Read up on the "Observer Pattern" to see how this is commonly done).
Depending on your needs, you could also have it work the other way around. Have set an isChanged property in the objects that update the data. Then have your object check that property to see if it needs to get the data from the database when it's called. This could eliminate some unecessary calls to the database.
If applications other than your own can update the tables, this is more difficult. You may need to set some kind of flag at the database tier that your object can read when called. Since 'getting' the connection is usually the most expensive operation in the process, it may not be worth caching under these circumstances.