Problemas com Form de Amostra Mestre/Detalhe

Bom dia,

Estou tentando usar aquele formulário de amostra mestre/detalhes

Porém quando eu tento abri a janela deste formulário acontece o seguinte erro:

[TopLink Info]: 2012.08.01 09:45:42.233--ServerSession(285120623)--TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007)) [TopLink Info]: 2012.08.01 09:45:42.840--ServerSession(285120623)--file:/D:/Estudos%20Java/APLICATIVOS/SistemaGerencial/build/classes/-ControleGerencialPU login successful [TopLink Warning]: 2012.08.01 09:45:42.895--UnitOfWork(684256674)--Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException Exception in thread "AWT-EventQueue-0" Local Exception Stack: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException Internal Exception: org.postgresql.util.PSQLException: ERRO: referências cruzadas entre bancos de dados não estão implementadas: "controlegerencial.public.tbbanco" Internal Exception: org.postgresql.util.PSQLException: ERRO: referências cruzadas entre bancos de dados não estão implementadas: "controlegerencial.public.tbbanco" Posição: 90 Posição: 90 Error Code: 0 Error Code: 0 Call: SELECT cod_banco, agencia_bando, conta_banco, nome_banco, gerente_banco, fone_banco FROM ControleGerencial.public.tbbanco Call: SELECT cod_banco, agencia_bando, conta_banco, nome_banco, gerente_banco, fone_banco FROM ControleGerencial.public.tbbanco Query: ReportQuery(br.com.telas.Tbbanco) Query: ReportQuery(br.com.telas.Tbbanco)

Classe TbBanco

@Entity
@Table(name = "tbbanco", catalog = "ControleGerencial", schema = "public")
@NamedQueries({
    @NamedQuery(name = "Tbbanco.findAll", query = "SELECT t FROM Tbbanco t"),
    @NamedQuery(name = "Tbbanco.findByCodBanco", query = "SELECT t FROM Tbbanco t WHERE t.codBanco = :codBanco"),
    @NamedQuery(name = "Tbbanco.findByNomeBanco", query = "SELECT t FROM Tbbanco t WHERE t.nomeBanco = :nomeBanco"),
    @NamedQuery(name = "Tbbanco.findByAgenciaBando", query = "SELECT t FROM Tbbanco t WHERE t.agenciaBando = :agenciaBando"),
    @NamedQuery(name = "Tbbanco.findByContaBanco", query = "SELECT t FROM Tbbanco t WHERE t.contaBanco = :contaBanco"),
    @NamedQuery(name = "Tbbanco.findByGerenteBanco", query = "SELECT t FROM Tbbanco t WHERE t.gerenteBanco = :gerenteBanco"),
    @NamedQuery(name = "Tbbanco.findByFoneBanco", query = "SELECT t FROM Tbbanco t WHERE t.foneBanco = :foneBanco")})
public class Tbbanco implements Serializable {
    @Transient
    private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "cod_banco")
    private Integer codBanco;
    @Column(name = "nome_banco")
    private String nomeBanco;
    @Column(name = "agencia_bando")
    private String agenciaBando;
    @Column(name = "conta_banco")
    private String contaBanco;
    @Column(name = "gerente_banco")
    private String gerenteBanco;
    @Column(name = "fone_banco")
    private String foneBanco;

    public Tbbanco() {
    }

    public Tbbanco(Integer codBanco) {
        this.codBanco = codBanco;
    }

    public Integer getCodBanco() {
        return codBanco;
    }

    public void setCodBanco(Integer codBanco) {
        Integer oldCodBanco = this.codBanco;
        this.codBanco = codBanco;
        changeSupport.firePropertyChange("codBanco", oldCodBanco, codBanco);
    }

    public String getNomeBanco() {
        return nomeBanco;
    }

    public void setNomeBanco(String nomeBanco) {
        String oldNomeBanco = this.nomeBanco;
        this.nomeBanco = nomeBanco;
        changeSupport.firePropertyChange("nomeBanco", oldNomeBanco, nomeBanco);
    }

    public String getAgenciaBando() {
        return agenciaBando;
    }

    public void setAgenciaBando(String agenciaBando) {
        String oldAgenciaBando = this.agenciaBando;
        this.agenciaBando = agenciaBando;
        changeSupport.firePropertyChange("agenciaBando", oldAgenciaBando, agenciaBando);
    }

    public String getContaBanco() {
        return contaBanco;
    }

    public void setContaBanco(String contaBanco) {
        String oldContaBanco = this.contaBanco;
        this.contaBanco = contaBanco;
        changeSupport.firePropertyChange("contaBanco", oldContaBanco, contaBanco);
    }

    public String getGerenteBanco() {
        return gerenteBanco;
    }

    public void setGerenteBanco(String gerenteBanco) {
        String oldGerenteBanco = this.gerenteBanco;
        this.gerenteBanco = gerenteBanco;
        changeSupport.firePropertyChange("gerenteBanco", oldGerenteBanco, gerenteBanco);
    }

    public String getFoneBanco() {
        return foneBanco;
    }

    public void setFoneBanco(String foneBanco) {
        String oldFoneBanco = this.foneBanco;
        this.foneBanco = foneBanco;
        changeSupport.firePropertyChange("foneBanco", oldFoneBanco, foneBanco);
    }

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

    @Override
    public String toString() {
        return "br.com.telas.Tbbanco[ codBanco=" + codBanco + " ]";
    }

    public void addPropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(PropertyChangeListener listener) {
        changeSupport.removePropertyChangeListener(listener);
    }
    
}

Alguém já passou por isto?

Procurei no fórum e não achei quase nada, pelo menos, não que me ajuda-se

Estou usando o banco de dados PostgreSQL 9.0.4

Boa Noite

Bom conseguir achar qual era o problema, para deixar registrado aqui, na classe tbbanco, onde tem a seguinte anotação:

Eu modifiquei, deixando apenas assim:

Assim, quando for executado o Sql, no lugar de termos isto:

Teremos isto:

Na verdade eu ainda não sei o motivo do erro anterior, mas sei que a alteração funcionou.

Grato.