Erro Hibernate: unindexed collection before

8 respostas
Sesshoumaru

Bom dia!
Estou com um problema ao usar @JoinTable.
Tenho este mapeamento:

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
	@JoinTable(name = "pessoa_telefone", schema = "corporativo", joinColumns = { @JoinColumn(name = "fk_pessoa") }, inverseJoinColumns = { @JoinColumn(name = "fk_telefone") })
	@ForeignKey(name = "pessoa_fk", inverseName = "telefone_fk")
	public Set<Telefone> getTelefones() {
		return telefones;
	}

O prlblema esta nesta query:

String jpql = "SELECT c FROM PrestadorServico c where c.telefone IS NOT EMPTY";

Este é o erro:

Se alguem puder ajudar.

8 Respostas

Sesshoumaru

Tentei resolver este erro ontem o dia todo e agora que postei
consegui, segue ai:
Quando se usa o mapeamento citado acima a jpql deve
ter estrutura semelhante a essa:

String jpql = "SELECT c FROM PrestadorServico c left join FETCH c.bloqueio b where b in " +
				"(select b from Bloqueio b) ORDER BY c.nome";

só isso…

A

esse seu relacionamento nao é manytomany?

t+

Sesshoumaru

kara é 1 x N o mesmo telefone nao pode pertencer a mais
de uma pessoa.
por ex:

T1 = (062)3555-7899
P1 = alissonvla

T2 = (062)3555-7800
P2 = Sesshoumaru

Na tabela de relacionamentos terei:

P1 -> T1(associação P1 com T1)
P2 -> T2

Nao posso utilizar T1 para P2, concorda?

P1 -> T1
P2 -> T1(errado)

Um relacionamento que posso citar N x N seria endereço:

E1 = 01
P1 = Sesshoumaru

E1 = 01
P2 = meuIrmao

Relacionameto:

P1 -> E1
P2 -> E1

se tiver opnião diferente posta ai
flw

A

cara,

vc deve usar um JoinColumn e nao JoinTable,

@JoinColumn(name = "chave_fk")

t+

Sesshoumaru

Usando JoinTable eu diminuo o acoplamento entre Pessoa e Telefone

A

utilize JoinTable, quando relacionamento for manytomany.

t+

Sesshoumaru

alissonvla Valeu pelas dicas, embora estejamos com opnioes diferentes
acredito que as duas formas são possiveis e a escolha deve
ser feitas com base em criterios especificos.
flw
Obrigado!

Sesshoumaru

Referencia Hibernate(Section 7.2.3)

Criado 11 de novembro de 2011
Ultima resposta 14 de nov. de 2011
Respostas 8
Participantes 2