JPA - FK Nula - Problema na hora da busca [RESOLVIDO]

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 :frowning:

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 :stuck_out_tongue:

Obrigado pela ajuda de todos