olá, no meu projeto tenho uma relação entre 3 tabelas (Octopus,ValuesOctopous e Project):
Octopus possui diversos valores ex.(size, Business Model, Rate of Change) e esses valores sao definidos na tabela valuesOctopus, ou seja, para size por ex. tenho: Small, Medium e Large. eu relaciono a tabela valuesOctopus e Project de forma que elas tem um relacionamento n:n isso significa que 1 Project possui muitos ValuesOctopus selecionados em um selectOneMenu. Um ValueOctopus eu consigo adicionar no Project, porem, devido a minha inesperiencia não sei adicionar todos os Objetos ValuesOctopus escolhidos pelo usuário.
CREATE TABLE octopus (
idOctopus int(11) NOT NULL,
varOctopus varchar(45) DEFAULT NULL,
PRIMARY KEY (idOctopus)
)
CREATE TABLE valuesOctopus (
idValuesOctopus int(11) NOT NULL AUTO_INCREMENT,
idOctopus int(11) DEFAULT NULL,
alternative varchar(450) DEFAULT NULL,
PRIMARY KEY (idValuesOctopus),
KEY varOctopus (idOctopus),
KEY octopus (idOctopus),
FOREIGN KEY (idOctopus) REFERENCES octopus (idOctopus) ON DELETE NO ACTION ON UPDATE NO ACTION
)
CREATE TABLE project (
idProject int(11) NOT NULL AUTO_INCREMENT,
nameProject varchar(45) DEFAULT NULL,
descriptionProject varchar(10000) DEFAULT NULL,
idOrganization int(11) DEFAULT NULL,
PRIMARY KEY (idProject),
FOREIGN KEY (idOrganization) REFERENCES organization (idOrganization) ON DELETE CASCADE ON UPDATE CASCADE
)
selectOneMenu
<ui:repeat value="#{octopusBean.octopusItem}" var="octopus">
<fieldset style="width: 300px; float: left;"><legend><h:outputText value="#{octopus.varOctopus}"/></legend>
<h:selectOneMenu value="#{projectBean.valuesOctopusId}">
<f:selectItems value="#{valuesOctopus.valuesOctopusList}"
var="vOcto"
itemValue="#{vOcto.value}"
itemLabel="#{vOcto.description}">
</f:selectItems>
</h:selectOneMenu>
</fieldset>
</ui:repeat>