A variation on that theme is to put the "select all" control in the table header. This may be preferable if you have a pageable table and don't want that option to scroll out of sight.
Be careful when using abbreviations - as an (alleged) native English speaker, it took me a few minutes to infer that "VO" meant Value Object. And we have a lot of members who aren't normally thinking in English.
I do not recommend using NULL. NULL isn't data - it's the absence of data. It has a very bad habit of getting garbled when moved around - I've seen more than one database end up with the
word "null" in a text field after someone had edited it where the original value was a null object. Plus in
Java, primitives such as int and char cannot even have a null value.
JSF tends to be very forgiving of null, but not all frameworks are so accomodating, and even in JSF there are pitfalls.
Treat null with the same respect as NaN - they're both very useful and very dangerous. You don't have to pad out an empty
string with spaces - a simple "" will do, especially when rendering HTML, which tends to treat spaces rather casually anyway.