Mapeando Hibernate/JPA para bases diferentes em servidores diferentes

1 resposta
EuclidesFilizola

Bom dia pessoal,

me deparei com o seguinte problema:

eu tenho uma tabela chamada convenio, e tenho uma outra tabela chama setor. Porém tem um problema: A tabela convenio é de uma base chamada ( BDSIFN) e a tabela Setor é de outra base chamada ( TBSETOR) e ainda tem outro porém, a tabela convenio está em localhost ( vai ser para a aplicação local qndo estiver em produção) e a tabela setor está em um outro servidor ( 172.128.13.1)…Porém, eu criei uma tabela intermediária que serve de ligação para as duas base…

dae eu quero saber:

como eu vou mapear essa tabela intermediaria ?

já que eu não posso fazer assim:

@Entity
@Table(name="tbsifn_conveniosetor")
public class ConvenioSetor implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id
	private Integer id;
	
	@ManyToOne
	private Convenio codConvenio; // referente a base BDSIFN do servidor localhost( 127.0.0.1)
	
	@ManyToOne
	private Setor codSetor; // referente a base TBSETOR do servidor 172.128.13.1

me falaram de eu usar a annotation @Transient, porém não vai funcionar, pois eu tenho que inserir vários setores em 1 único convenio…

Alguém saberia me dar uma dica?

aqui está as duas entidade:

Convenio

@Entity
@Table(name="tbsifn_convenio")
@NamedQueries({@NamedQuery(name="listarTodosConvenios", query="select conv from Convenio conv"),
	@NamedQuery(name="buscarConveniosPorNome",query="select con from Convenio con where con.nomeConvenio like ?1")})
public class Convenio implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id
	@Column(name="cd_convenio")
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Integer codConvenio;
	
	@Column(name="ds_nome")
	private String nomeConvenio;
	
	@Column(name="dt_inicio")
	private Date dataInicio;
		
	@Column(name="dt_final")
	private Date dataFinal;
	
	@ManyToOne
	@JoinColumn(name="cd_programa")
	private Programa codPrograma;
	
	@Column(name="nm_sic")
	private Integer numSIC;


 ...   // GETTERS AND SETTERS ...

Setor

@Entity
@Table(name="TBSITE_SETORES")
@NamedQueries({@NamedQuery(name="procurarSetor",query="select sel from Setor sel where sel.siglaSetor like ?1"),
@NamedQuery(name="procurarCodigoSetor",query="select sec from Setor sec where sec.cdSetor like ?1"),	
@NamedQuery(name="procurarChefe",query="select sector from Setor sector where sector.cdSub like ?1"),
@NamedQuery(name="listarTodosSetores",query="select sector from Setor sector")
})


public class Setor implements Serializable {


	private static final long serialVersionUID = 1L;
	
	@Id
	@Column(name="CD_SETOR")
	private Integer cdSetor;
	
	@Column(name="DS_SETOR")
	private String dsSetor;
	
	@Column(name="sg_Setor")
	private String siglaSetor;
	
	@Column(name="CD_TIPO")
	private String cdTipo;
	
	@Column(name="CD_SUB")
	private String cdSub;



      ........ // GETTERS... AND 
                   SETTERS ...    //

. Alguém para me dar uma luz ?

1 Resposta

EuclidesFilizola

e ae moçada … nada ?

Criado 12 de março de 2010
Ultima resposta 13 de mar. de 2010
Respostas 1
Participantes 1