Mapeamento SQL @OneToOne

0 respostas
Lavieri

como fazer para mapear 1-1 em SQL ??
meu problema é q to usando uma ferramente do hibernate pra criar meus POJO a partir do banco de dados... porem sempre que ele vai pegar minha tabela... LOJA -> LOJA_LOGOMARCA ... ele mapeia 1-N quando esta é 1-1 ...

não sei como escrever em SQL para o mapeamento ficar 1-1...

o SQL esta assim
CREATE  TABLE IF NOT EXISTS `superlocar`.`loja_logomarca` (
  `loja_id` INT(10) UNSIGNED NOT NULL ,
  `logomarca` BLOB NOT NULL ,
  PRIMARY KEY (`loja_id`) ,
  CONSTRAINT `FK_lojaLogomarca_loja`
    FOREIGN KEY (`loja_id` )
    REFERENCES `superlocar`.`loja` (`id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COMMENT = 'LOGOEMPRESA'

no meu MySQL WorkBench ele mostra o mapeamento como 1-1 ... porem na real esse mapemanto como esta ai, é realmente 1-N ... como fazer ficar 1-1 ??

[img]http://img153.imageshack.us/img153/8526/imagemrh1.png[/img]

uma parte do meu POJO gerado...
@Entity
@Table(name="loja"
    , uniqueConstraints = @UniqueConstraint(columnNames="empresa_id") 
)
public class Loja  implements java.io.Serializable {


     private Integer id;
     private Telefone telefoneByTelefoneFaxId;
     private Telefone telefoneByTelefone24hId;
     private Empresa empresa;
     private Telefone telefoneByTelefonePrincipalId;
     private boolean ativo;
     private Date dataDeFundacao;
     private Date dataDaUltimaAlteracaoContratual;
     private String registroDaJuntaComercial;
     private Set<Usuario> usuarios = new HashSet<Usuario>(0);
     private Set<LojaLogomarca> lojaLogomarcas = new HashSet<LojaLogomarca>(0);
     private Set<CentroDeCusto> centroDeCustos = new HashSet<CentroDeCusto>(0);
     private Set<EstoqueProdutoLoja> estoqueProdutoLojas = new HashSet<EstoqueProdutoLoja>(0);
     private Set<LojaSocio> lojaSocios = new HashSet<LojaSocio>(0);

    public Loja() {
    }
Criado 18 de fevereiro de 2009
Respostas 0
Participantes 1