Eu preciso colocar uma lista de "Plataforma" para cadastrar um novo "Jogo" em meu sistema. Mas estou com duvidas na forma de colocar essa Lista o SelectOneMenu
Classe Jogo:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column (name = "id_jogo")
private int id;
@Column(nullable = false)
private String nome;
@Column(nullable = false)
private String descricao;
@ManyToMany
private List<Plataforma> plataforma = new ArrayList<>();
Classe Plataforma:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column (name = "id_plataforma")
private int id;
@Column(nullable = false)
private String nome;
@Column(nullable = false)
private String descricao;
Eu ja tenho as classes DAO e Bean das duas acima, acredito que não seja necessário colocar aqui.
Estou com duvida de como seria o metodo da Bean que vai listar e depois como passar a Plataforma selecionada para o cadastro do Jogo.
<h:form class="form-label" id="cadastroJogo">
<div class="form-group row">
<label for="thread" class="col-md-12">Nome do Jogo:</label>
<div class="col-md-10">
<h:inputText value="#{jogoMB.jogo.nome}"
class="form-control" id="nomeJogo" />
</div>
</div>
<div class="form-group row">
<label for="thread" class="col-md-12">Descrição:</label>
<div class="col-md-10">
<h:inputText value="#{jogoMB.jogo.descricao}"
class="form-control" id="descricaoJogo" />
</div>
</div>
<div class="form-group row">
<label for="thread" class="col-md-12">Plataforma:</label>
<div class="col-md-10">
<h:selectOneMenu value="#{}" id="sl">
<f:selectItems value="#{}" />
</h:selectOneMenu>
</div>
</div>
<div class="text-center">
<h:commandButton action="#{jogoMB.cadastrar()}"
value="Cadastrar"
class="btn btn-primary btn-lg btn-rounded btn-shadow" />
</div>
</h:form>