Knowing when a bean container has a bean changed?

I have a BeanContainer which is handed data objects loaded from database. A Table using the bean container, and a checkbox in the table created using a Table.ColumnGenerator().

The data renders correctly. When I click the checkbox, I can access the click with the listener and set the propery on the item, which goes through to my setter on the object in the BeanContainer. All this workds well.

However, I want to be able to update my database with the change as the user checks or unchecks the box. Using addValueChangeListener on the checkbox is not working right, as this even is called when the checkbox is set from the initial load of the table. I do not what this to the trigger the update!! I want to be able to pick up ONLY the user clicking the checkbox, as this is a real change.

I maybe be doing this the wrong way, as I’ve jst starting using Vaadin. I guess I am trying to find the way to know when the user changes a cell in the table, so I can action some backend update, but addValueChangeListener does not seem to be this, as it fires on any change, including the initially setting of the value on a load, which I do not want to cause and update?

Can anyway advise? I’ll googled all morning and not getting anywhere!! :confused: