@lucasblancob escreveu:
Pessoal,
Tenho uma tabela no meu banco de dados chamada FATOR. Há uma tabela filha chamada OPCOES_FATOR. Com base no retorno da tabela FATOR fiz uma query e trouxe todos os dados em um DATATABLE editável , mas estou com dificuldades para popular o SELECTITEMS com as opçoes de cada fator. Gostaria esta tela de forma dinâmica, ou seja, sempre que um novo cadastro for realizado nestas tabelas, as informações já poderam ser disponibilizadas na minha página.
Abaixo o meu Bean
@Entity @Table(name = "AMFATOR") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Amfator.findAll", query = "SELECT a FROM Amfator a"), @NamedQuery(name = "Amfator.findByIdfator", query = "SELECT a FROM Amfator a WHERE a.idfator = :idfator"), @NamedQuery(name = "Amfator.findByDescricao", query = "SELECT a FROM Amfator a WHERE a.descricao = :descricao"), @NamedQuery(name = "Amfator.findByTpChamado", query = "SELECT a FROM Amfator a WHERE a.fgativo = 'SIM' and a.tipoChamado = ?1 order by a.grupoFator"), @NamedQuery(name = "Amfator.findByPeso", query = "SELECT a FROM Amfator a WHERE a.peso = :peso"), @NamedQuery(name = "Amfator.findByFgativo", query = "SELECT a FROM Amfator a WHERE a.fgativo = :fgativo")}) public class Amfator implements Serializable { @OneToMany(cascade = CascadeType.ALL, mappedBy = "fator") private Collection<AschamadoPrior> aschamadoPriorCollection; private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @Column(name = "IDFATOR") private Short idfator; @Basic(optional = false) @Column(name = "DESCRICAO") private String descricao; @Basic(optional = false) @Column(name = "PESO") private short peso; @Basic(optional = false) @Column(name = "FGATIVO") private String fgativo; @JoinColumn(name = "GRUPO_FATOR", referencedColumnName = "IDFATOR_GRUPO") @ManyToOne private AmfatorGrupo grupoFator; @JoinColumn(name = "TIPO_CHAMADO", referencedColumnName = "IDTIPOCHAMADO") @ManyToOne(optional = false) private AstipoChamado tipoChamado; @OneToMany(cascade = CascadeType.ALL, mappedBy = "fator") private List<AmfatorOpcao> optFatorList; public Amfator() { } public Amfator(Short idfator) { this.idfator = idfator; } public Amfator(Short idfator, String descricao, short peso, String fgativo) { this.idfator = idfator; this.descricao = descricao; this.peso = peso; this.fgativo = fgativo; } public Short getIdfator() { return idfator; } public void setIdfator(Short idfator) { this.idfator = idfator; } public String getDescricao() { return descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public short getPeso() { return peso; } public void setPeso(short peso) { this.peso = peso; } public String getFgativo() { return fgativo; } public void setFgativo(String fgativo) { this.fgativo = fgativo; } public AmfatorGrupo getGrupoFator() { return grupoFator; } public void setGrupoFator(AmfatorGrupo grupoFator) { this.grupoFator = grupoFator; } public AstipoChamado getTipoChamado() { return tipoChamado; } public void setTipoChamado(AstipoChamado tipoChamado) { this.tipoChamado = tipoChamado; } @Override public int hashCode() { int hash = 0; hash += (idfator != null ? idfator.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Amfator)) { return false; } Amfator other = (Amfator) object; if ((this.idfator == null && other.idfator != null) || (this.idfator != null && !this.idfator.equals(other.idfator))) { return false; } return true; } @Override public String toString() { return "Model.Amfator[ idfator=" + idfator + " ]"; } @XmlTransient public Collection<AschamadoPrior> getAschamadoPriorCollection() { return aschamadoPriorCollection; } public void setAschamadoPriorCollection(Collection<AschamadoPrior> aschamadoPriorCollection) { this.aschamadoPriorCollection = aschamadoPriorCollection; } /** * @return the amfatorList */ public List<AmfatorOpcao> getAmfatorList() { return optFatorList; } /** * @param amfatorList the amfatorList to set */ public void setAmfatorList(List<AmfatorOpcao> amfatorList) { this.optFatorList = amfatorList; } } @Entity @Table(name = "AMFATOR_OPCAO") @XmlRootElement @NamedQueries({ @NamedQuery(name = "AmfatorOpcao.findAll", query = "SELECT a FROM AmfatorOpcao a"), @NamedQuery(name = "AmfatorOpcao.findByIdopcao", query = "SELECT a FROM AmfatorOpcao a WHERE a.idopcao = :idopcao"), @NamedQuery(name = "AmfatorOpcao.findByDescOpcao", query = "SELECT a FROM AmfatorOpcao a WHERE a.descOpcao = :descOpcao"), @NamedQuery(name = "AmfatorOpcao.findByFgativo", query = "SELECT a FROM AmfatorOpcao a WHERE a.fgativo = :fgativo"), @NamedQuery(name = "AmfatorOpcao.findByPeso", query = "SELECT a FROM AmfatorOpcao a WHERE a.peso = :peso")}) public class AmfatorOpcao implements Serializable { @OneToMany(cascade = CascadeType.ALL, mappedBy = "opcao") private Collection<AschamadoPrior> aschamadoPriorCollection; private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @Column(name = "IDOPCAO") private Short idopcao; @Basic(optional = false) @Column(name = "DESC_OPCAO") private String descOpcao; @Basic(optional = false) @Column(name = "FGATIVO") private String fgativo; @Column(name = "PESO") private Short peso; @JoinColumn(name = "FATOR", referencedColumnName = "IDFATOR") @ManyToOne(optional = false) private Amfator fator; public AmfatorOpcao() { } public AmfatorOpcao(Short idopcao) { this.idopcao = idopcao; } public AmfatorOpcao(Short idopcao, String descOpcao, String fgativo) { this.idopcao = idopcao; this.descOpcao = descOpcao; this.fgativo = fgativo; } public Short getIdopcao() { return idopcao; } public void setIdopcao(Short idopcao) { this.idopcao = idopcao; } public String getDescOpcao() { return descOpcao; } public void setDescOpcao(String descOpcao) { this.descOpcao = descOpcao; } public String getFgativo() { return fgativo; } public void setFgativo(String fgativo) { this.fgativo = fgativo; } public Short getPeso() { return peso; } public void setPeso(Short peso) { this.peso = peso; } public Amfator getFator() { return fator; } public void setFator(Amfator fator) { this.fator = fator; } @Override public int hashCode() { int hash = 0; hash += (idopcao != null ? idopcao.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof AmfatorOpcao)) { return false; } AmfatorOpcao other = (AmfatorOpcao) object; if ((this.idopcao == null && other.idopcao != null) || (this.idopcao != null && !this.idopcao.equals(other.idopcao))) { return false; } return true; } @Override public String toString() { return "Model.AmfatorOpcao[ idopcao=" + idopcao + " ]"; } @XmlTransient public Collection<AschamadoPrior> getAschamadoPriorCollection() { return aschamadoPriorCollection; } public void setAschamadoPriorCollection(Collection<AschamadoPrior> aschamadoPriorCollection) { this.aschamadoPriorCollection = aschamadoPriorCollection; } }
Mensagens: 2
Participantes: 1