Para ajudar ai vai o mapeamento das minhas classes
Equipamento
@Entity
@Table(name = "GAV_EQUIPAMENTO")
@SecondaryTable(name="FROTA", pkJoinColumns={
@PrimaryKeyJoinColumn (name="NRO_FROTA", referencedColumnName="COD_EQUIPAMENTO")})
public class Gav_Equipamento implements Serializable{
private static final long serialVersionUID = -7566914642689144549L;
public final static String NUMERO_EQUIP = "nroFrota";
@Id
@Column(name="COD_EQUIPAMENTO", nullable=false, length=10 , updatable=false ,insertable=false)
private String nroFrota;
@Column(name="dsc_modelo", nullable=false, length=50 , updatable=false ,insertable=false)
private String descricao;
@Column(table="FROTA",name="ID_LIDER_TURNO_1", nullable=true)
private Integer idLiderTurno1;
@Column(table="FROTA",name="ID_LIDER_TURNO_2", nullable=true)
private Integer idLiderTurno2;
@Column(table="FROTA",name="ID_LIDER_TURNO_3", nullable=true)
private Integer idLiderTurno3;
@Column(table="FROTA",name="CONTROLE", nullable=true)
private String controle;
@ManyToOne(cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn(table="FROTA",name="ID_FOTO_FROTA")
private FotoFrota foto;
@Column(name="cod_empr", nullable=true , updatable=false ,insertable=false)
private int cod_empr;
@ManyToOne(cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn(name="cod_modelo",updatable=false ,insertable=false)
private Gav_Modelo modeloFrota;
@ManyToOne(cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn(table="FROTA",name="ID_FRENTE")
private Gav_Frente frenteFrota;
@OneToOne
@JoinColumn(name="id_fabric" , updatable=false ,insertable=false)
private Gav_Fabricante frotaFabricante;
@ManyToMany(cascade={CascadeType.PERSIST, CascadeType.MERGE})
@Fetch(FetchMode.SUBSELECT)
@JoinTable(name="turno_equipamento",joinColumns=@JoinColumn(name="id_frota"),inverseJoinColumns=@JoinColumn(table="FROTA",name="id_turno"))
private Set<Gav_Turno> turnos = new HashSet<Gav_Turno>();
@ManyToOne(cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn(table="FROTA",name="TIPO_BOLETIM")
private TipoBoletim tipoBoletim;
@OneToOne(mappedBy = "equipamento")
private StatusFrota statusFrota;
@OneToOne
@JoinColumn(name="id_classe", insertable=false, updatable=false)
private Gav_Classe classe;
@OneToOne
@JoinColumns(value = { @JoinColumn(name="id_sub_classe",insertable=false, updatable=false),
@JoinColumn(name="id_classe",insertable=false, updatable=false) })
private Gav_SubClasse subClasse;
@Transient
private String apelidoEquipamento;
// sem gets e sets
StatusFrota
@Entity
@Table (name="status_frota")
public class StatusFrota implements Serializable {
private static final long serialVersionUID = 7738461283498066420L;
@Id
@Column (name="id_frota")
private String id;
@OneToOne(cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@PrimaryKeyJoinColumn
private Gav_Equipamento equipamento;
@ManyToOne (fetch=FetchType.EAGER, cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="id_status", nullable=false)
private Status status;
@Column (name="dt_atualizacao", nullable=true)
private Date dataAtualizacao;
@ManyToOne (cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="id_celular", nullable=true)
private Celular celular;
@ManyToOne (cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="id_apontamento", nullable=true)
private Apontamento apontamento;
@Column (name="versao_mobile", length=10)
private String versaoMobile;
//Sem gets e sets
Apontamento
@Entity
@Table (name="apontamento")
@SequenceGenerator(name = "seq_apontamento", sequenceName = "seq_bob_apontamento")
public class Apontamento implements Serializable {
private static final long serialVersionUID = 2562670148114406386L;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_apontamento")
private int id;
@ManyToOne (cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="id_boletim", nullable=false)
private Boletim boletim;
@ManyToOne
@JoinColumn(name = "fazenda", nullable = true)
private Gav_Fazenda fazenda;
@Column (name="area", nullable=true)
@Deprecated
private Long area;
@Column (name="talhao", nullable=true)
@Deprecated
private Long talhao;
@Column (name="os")
private Long numeroOs;
@Column(name = "FLAG_LOTE ", nullable = false)
private byte flagLote;
@ManyToOne (cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="op_principal", nullable=true)
private Gav_Operacao operacaoPrincipal;
@ManyToOne (cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="op_realizada", nullable=true)
private Gav_Operacao operacaoRealizada;
@ManyToOne (cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="parada", nullable=true)
private Gav_Motivos_Parada parada;
@Column (name="centro_custo", nullable=true, scale=10, precision=0)
@Deprecated
private Long centroCusto;
@Column (name="med_inicial", nullable=true, scale=8, precision=2)
private Double medicaoInicial;
@Column (name="med_final", nullable=true, scale=8, precision=2)
@Deprecated
private Double medicaoFinal;
@Column (name="dt_inicial", nullable=false)
private Date dataInicial;
@Column (name="dt_final", nullable=true)
@Deprecated
private Date dataFinal;
@Column (name="dt_inclusao", nullable=false)
private Date dataInclusao;
@Column (name="onlineflag", nullable=true)
private byte onlineFlag;
@Column (name="dt_edicao_manual", nullable=true)
private Date dataEdicaoManual;
@ManyToOne (cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="usuario_edicao_manual")
private Usuario usuarioEdicaoManual;
@Column (name="versao_mobile", length=10)
private String versaoMobile;
@Column (name="transbordo", nullable=true, scale=10, precision=0)
@Deprecated
private Long transbordo;
@Column (name="idseqapontamento")
private Long idSeqApontamento;
@Column (name="gleba")
private String gleba;
@ManyToOne (cascade= {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn (name="id_grupo_os")
private GrupoOs grupoOs;
@Column (name="implemento")
private Long implemento;
@Column (name="fazenda_origem", nullable=true)
@Deprecated
private Long fazendaOrigem;
@Column (name="fazenda_destino", nullable=true)
@Deprecated
private Long fazendaDestino;
@OneToMany(mappedBy="apontamento", fetch=FetchType.EAGER)
@JoinColumn(name="ID_APONTAMENTO")
@Fetch (FetchMode.SUBSELECT )
private Set<ApontamentoEquipamento> listaEquipamento;
//Sem gets e Sets
Fazenda
@Entity
@Table(name="GAV_DIVI2")
public class Gav_Fazenda implements Serializable {
private static final long serialVersionUID = -808616346120074453L;
@Id
@Column(name="cod_divi2", updatable=false ,insertable=false)
private int codDiv;
@Column(name="dsc_divi2", updatable=false ,insertable=false)
private String descricao;
@Column(name="cod_empr", updatable=false ,insertable=false)
private Integer empresa;
@Column(name="saf_ano_safra", updatable=false ,insertable=false)
private Integer anoSafra;
//sem gets e sets
espero q alguem possa ajudar.
Obrigado