2015-10-26 73 views
0

我很困惑如何将数据保存到数据库中。我将从表中获取数据并保存。如何使用JPA保持多对多关系

我的关系的数字低于

我怎么能保存Layoutsos列表为Ordemservico?

Relationship here

这里是我的我的课。

public class Ordemservico implements Serializable { 
    private static final long serialVersionUID = 1L; 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Basic(optional = false) 
    @Column(name = "idordemservico") 
    private Integer idordemservico; 
    @Column(name = "identificadoros") 
    private Integer identificadoros; 
    @Column(name = "mes") 
    private Integer mes; 
    @Column(name = "ano") 
    private Integer ano; 
    @Column(name = "assunto") 
    private String assunto; 
    @Basic(optional = false) 
    @Column(name = "publicitario") 
    private String publicitario; 
    @Basic(optional = false) 
    @Column(name = "layoutos") 
    private String layoutos; 
    @Basic(optional = false) 
    @Column(name = "dataincio") 
    @Temporal(TemporalType.DATE) 
    private Date dataincio; 
    @Column(name = "datafim") 
    @Temporal(TemporalType.DATE) 
    private Date datafim; 
    @Column(name = "dataevento") 
    @Temporal(TemporalType.DATE) 
    private Date dataevento; 
    @Column(name = "producao") 
    private String producao; 
    @Lob 
    @Column(name = "discricao") 
    private String discricao; 
    @Column(name = "responsavelos") 
    private String responsavelos; 
    @Column(name = "materiajornal") 
    private String materiajornal; 
    @ManyToMany(mappedBy = "ordemservicoList") 
    private List<Ordemproducao> ordemproducaoList; 
    @ManyToMany(mappedBy = "ordemservicoList") 
    private List<Layoutsos> layoutsosList; 
    @JoinTable(name = "ordemservico_has_usuario", joinColumns = { 
     @JoinColumn(name = "ordemservico_idordemservico", referencedColumnName = ` ` "idordemservico")}, inverseJoinColumns = { 
    @JoinColumn(name = "usuario_idusuario", referencedColumnName = ` ` ` ` ` ` ` ` "idusuario")}) 
    @ManyToMany 
    private List<Usuario> usuarioList; 
    @JoinColumn(name = "secretaria_idsecretaria", referencedColumnName = ` ` ` ` ` ` "idsecretaria") 
    @ManyToOne(optional = false) 
    private Secretaria secretariaIdsecretaria; 
    @OneToMany(cascade = CascadeType.ALL, mappedBy = ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `"ordemservicoIdordemservico") 
    private List<Materiajornal> materiajornalList; 

    public Ordemservico() { 
    } 

    public Ordemservico(Integer idordemservico) { 
     this.idordemservico = idordemservico; 
    } 

    public Ordemservico(Integer idordemservico, String publicitario, String  ` ` layoutos, Date dataincio) { 
     this.idordemservico = idordemservico; 
     this.publicitario = publicitario; 
     this.layoutos = layoutos; 
     this.dataincio = dataincio; 
    } 

    public Integer getIdordemservico() { 
     return idordemservico; 
    } 

    public void setIdordemservico(Integer idordemservico) { 
     this.idordemservico = idordemservico; 
    } 

    public Integer getIdentificadoros() { 
     return identificadoros; 
    } 

    public void setIdentificadoros(Integer identificadoros) { 
     this.identificadoros = identificadoros; 
    } 

    public Integer getMes() { 
     return mes; 
    } 

    public void setMes(Integer mes) { 
     this.mes = mes; 
    } 

    public Integer getAno() { 
     return ano; 
    } 

    public void setAno(Integer ano) { 
     this.ano = ano; 
    } 

    public String getAssunto() { 
     return assunto; 
    } 

    public void setAssunto(String assunto) { 
     this.assunto = assunto; 
    } 

    public String getPublicitario() { 
     return publicitario; 
    } 

    public void setPublicitario(String publicitario) { 
     this.publicitario = publicitario; 
    } 

    public String getLayoutos() { 
     return layoutos; 
    } 

    public void setLayoutos(String layoutos) { 
     this.layoutos = layoutos; 
    } 

    public Date getDataincio() { 
     return dataincio; 
    } 

    public void setDataincio(Date dataincio) { 
     this.dataincio = dataincio; 
    } 

    public Date getDatafim() { 
     return datafim; 
    } 

    public void setDatafim(Date datafim) { 
     this.datafim = datafim; 
    } 

    public Date getDataevento() { 
     return dataevento; 
    } 

    public void setDataevento(Date dataevento) { 
     this.dataevento = dataevento; 
    } 

    public String getProducao() { 
     return producao; 
    } 

    public void setProducao(String producao) { 
     this.producao = producao; 
    } 

    public String getDiscricao() { 
     return discricao; 
    } 

    public void setDiscricao(String discricao) { 
     this.discricao = discricao; 
    } 

    public String getResponsavelos() { 
     return responsavelos; 
    } 

    public void setResponsavelos(String responsavelos) { 
     this.responsavelos = responsavelos; 
    } 

    public String getMateriajornal() { 
     return materiajornal; 
    } 

    public void setMateriajornal(String materiajornal) { 
     this.materiajornal = materiajornal; 
    } 

    @XmlTransient 
    public List<Ordemproducao> getOrdemproducaoList() { 
     return ordemproducaoList; 
    } 

    public void setOrdemproducaoList(List<Ordemproducao> ordemproducaoList) { 
     this.ordemproducaoList = ordemproducaoList; 
    } 

    @XmlTransient 
    public List<Layoutsos> getLayoutsosList() { 
     return layoutsosList; 
    } 

    public void setLayoutsosList(List<Layoutsos> layoutsosList) { 
     this.layoutsosList = layoutsosList; 
    } 

    @XmlTransient 
    public List<Usuario> getUsuarioList() { 
     return usuarioList; 
    } 

    public void setUsuarioList(List<Usuario> usuarioList) { 
     this.usuarioList = usuarioList; 
    } 

    public Secretaria getSecretariaIdsecretaria() { 
     return secretariaIdsecretaria; 
    } 

    public void setSecretariaIdsecretaria(Secretaria secretariaIdsecretaria) { 
     this.secretariaIdsecretaria = secretariaIdsecretaria; 
    } 

    @XmlTransient 
    public List<Materiajornal> getMateriajornalList() { 
     return materiajornalList; 
    } 

    public void setMateriajornalList(List<Materiajornal> materiajornalList) { 
     this.materiajornalList = materiajornalList; 
    } 

    @Override 
    public int hashCode() { 
     int hash = 0; 
     hash += (idordemservico != null ? idordemservico.hashCode() : 0); 
     return hash; 
    } 

    @Override 
    public boolean equals(Object object) { 

     if (!(object instanceof Ordemservico)) { 
      return false; 
     } 
     Ordemservico other = (Ordemservico) object; 
     if ((this.idordemservico == null && other.idordemservico != null) || ` ` ` ` (this.idordemservico != null && ` ` ` ` ` `  ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `enter code here`!this.idordemservico.equals(other.idordemservico))) { 
      return false; 
     } 
     return true; 
    } 

    @Override 
    public String toString() { 
     return assunto ; 
    } 
} 

其他实体

的代码,但我怎么抢我从JTable中选择并保存的项目清单。这表有所有的布局,现在我想一些布局保存到ordemserviço

public class Layoutsos implements Serializable { 
private static final long serialVersionUID = 1L; 
@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Basic(optional = false) 
@Column(name = "idlayoutsos") 
private Integer idlayoutsos; 
@Column(name = "nome") 
private String nome; 
@Column(name = "medidas") 
private String medidas; 
@JoinTable(name = "ordemservico_has_layoutsos", joinColumns = { 
    @JoinColumn(name = "layoutsos_idlayoutsos", referencedColumnName = "idlayoutsos")}, inverseJoinColumns = { 
    @JoinColumn(name = "ordemservico_idordemservico", referencedColumnName = "idordemservico")}) 
@ManyToMany 
private List<Ordemservico> ordemservicoList; 

public Layoutsos() { 
} 

public Layoutsos(Integer idlayoutsos) { 
    this.idlayoutsos = idlayoutsos; 
} 

public Integer getIdlayoutsos() { 
    return idlayoutsos; 
} 

public void setIdlayoutsos(Integer idlayoutsos) { 
    this.idlayoutsos = idlayoutsos; 
} 

public String getNome() { 
    return nome; 
} 

public void setNome(String nome) { 
    this.nome = nome; 
} 

public String getMedidas() { 
    return medidas; 
} 

public void setMedidas(String medidas) { 
    this.medidas = medidas; 
} 

@XmlTransient 
public List<Ordemservico> getOrdemservicoList() { 
    return ordemservicoList; 
} 

public void setOrdemservicoList(List<Ordemservico> ordemservicoList) { 
    this.ordemservicoList = ordemservicoList; 
} 

@Override 
public int hashCode() { 
    int hash = 0; 
    hash += (idlayoutsos != null ? idlayoutsos.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 Layoutsos)) { 
     return false; 
    } 
    Layoutsos other = (Layoutsos) object; 
    if ((this.idlayoutsos == null && other.idlayoutsos != null) || (this.idlayoutsos != null && !this.idlayoutsos.equals(other.idlayoutsos))) { 
     return false; 
    } 
    return true; 
} 

@Override 
public String toString() { 
    return "br.app.com.classes.Layoutsos[ idlayoutsos=" + idlayoutsos + " ]"; 
} 

} 
+0

您是否有其他实体的代码?它是双向的多对多吗? – Ish

回答

0

假设你有一个已经被保存到数据库或从数据库中检索Layoutsos类型的对象变量layoutsos。以下是在坚持Ordemservico实体时代码的外观。

Ordemservico o = new Ordemservico(); 
o.getOrdemproducaoList().add(layoutsos); 
em.persist(o); 

如果这是双向关系,则应在持续前设置关系的两侧。

Layoutsos layoutsos = new Layoutsos(); 
Ordemservico o = new Ordemservico(); 

o.getOrdemproducaoList().add(layoutsos); 
layoutsos.getOrdermserviceoList().add(o); 
em.persist(layoutsos); 
em.persist(o); 
+0

Thx寻求帮助。但是,我如何抓取我从Jtable中选择并保存的itens列表。该表具有所有的布局,现在我们可以将一些布局保存到ordemserviço中 – AllPower