E ae galera, td bem ?
Seguinte,
Tenho um relacionamento 1-1.
Tenho a tabela City que possui um relacionamento 1-1 com Language.
Nem todas as Cities tem valor para a coluna COD_LANGUAGE, ou seja, eh uma FK que aceita null
Tenho seguinte código:
@OneToOne
@JoinColumn(name = "COD_LANGUAGE", updatable = true, insertable = true, nullable = true)
private MasterLanguage language;
Porém quanto tento carregar minha cidade, ele lança uma exception dizendo que não achou a Language dessa cidade.
Gostaria que o valor de meu objeto ficasse null ao invés de lançar uma exception na busca.
Como faço para configurar isso ?
Grato
usa left join que funciona
To tão bitolado aqui que esqueci de dizer que estou usando JPA.
[]'s
se vc estiver usando a JPQL ( ou HQL no caso do hibernate) é soh usar:
select a from Entidade a left join EntidadeB
[quote=lucascs]se vc estiver usando a JPQL ( ou HQL no caso do hibernate) é soh usar:
select a from Entidade a left join EntidadeB[/quote]
Há alguma forma de fazer isso através de mapeamentos com annotations ?
Há meu ver, isso poderia ser alguma annotation ou até mesmo um simples atributo de alguma existente.
Pensei que a flag optional fizesse isso, ou talvez a nullable, mas não é o caso.
Caso alguém saiba uma forma(ou se garante que a mesma não exista), eu agradeceria mto.
[]'s
Um jeito de fazer isso eh colocando
@OneToOne(fetch=FetchType.LAZY)
Isto deve funcionar…
[quote=lucascs]Um jeito de fazer isso eh colocando
@OneToOne(fetch=FetchType.LAZY)
Isto deve funcionar…[/quote]
Isso não resolve o problema, apenas adia a detecção.
Pq quando eu chamo o get correspondente, obrigando assim o JPA a ir ao banco buscar o que eu optei por não carregar inicialmente, através do Lazy, a mesma exception é lançada. Então ao invés de resolver, estou postergando a detecção do problema para Runtime, o que é infinitamente pior.
Estou começando a achar que não há como fazer isso através de annotations 
Obrigado pelas respostas
AFFFFFFFFFFFFF,
Descobri o “problema”
A base com a qual estou trabalhando foi importada a partir de arquivo texto, acredito que no momento da importação, o que deveria ser null, ficou com um valor de string vazia ou então ’ ', o que ficou diferente de null.
Por isso não estava tendo o comportamento desejado.
Finalmente entendi 
Obrigado pela ajuda de todos