Я знаю, что вопрос старый, но в случае, если кто-то (как и я) все еще ищет ответ
Использование Java 8:
<h:selectManyCheckbox value="#{bean.checks}">
<f:selectItem itemValue="value1" itemLabel="Label 1" />
<f:selectItem itemValue="value2" itemLabel="Label 2" />
<f:selectItem itemValue="value3" itemLabel="Label 3" />
</h:selectManyCheckbox>
Bean:
private List<String> checks;
private Map<String, Runnable> checksMap;
private void initMap() {
checksMap = new HashMap<>();
checksMap.put("value1", () -> myentity.setBoolean1(true));
checksMap.put("value2", () -> myentity.setBoolean2(true));
checksMap.put("valueN", () -> myentity.setBooleanN(true));
}
Когда вы сохраняете свою сущность, просто повторяйте выбранные чеки и устанавливайте логические значения в соответствии с checkMap:
checks.stream().forEach( (e) -> checksMap.get(e).run() );