As a general UI rule - not just for
Java -
you should not use radiobuttons to make multiple selections. A radio button is for when you want to allow one and
only one selection to be made. They get their name from the old-time auto radios which had buttons that you would press in to select a station (unlike modern-day presets, where the button pops right back up again). When you pressed a button, any previously-depressed button would pop out.
For multiple selections, therefore, use checkboxes. Also note that
because radio buttons are supposed to be 1-of-many selections, the radiobutton control value must be an object that can hold as many different values as there are buttons in the set, whereas checkboxes only have one value object with a value of true (selected) or false (not selected).
The rendering and processing of a dataTable is based on its DataModel. If you want selections to persist as you page through a dataset, therefore, you need a column in that DataModel that holds the selection state for each row being displayed.
Unfortunately, most DBMS's do not have a native boolean data type, and the Checkbox control won't work with any other data type, so you have to adjust the DataModel's wrapped data set to provide one. Basically, if you're using an ORM class, front it with a façade class object that presents the boolean columns in true boolean form instead of Y/N, 0/1, or whatever it actually uses.
If the selection state is not something that you actually keep in the database, the same architecture still applies, you just don't have the extra logic in the façade to convert the checkbox boolean state from/to the corresponding database column (since there isn't a corresponding column).