Ao usar criteria para consultar, apesar do hibernate executar o SQL com o join, esse list sempre volta nulo. (porém o mesmo sql no frontend do banco de dados retorna os items)
O sql foi do hibernate mesmo (console). O problema era bizarro, (acho que pode ser bug, sei lá)
Eu tenho esse list aí, porém, é uma ligação unidirecional. No insert, como o id ainda não foi gerado pelo banco, ele não grava os items. Até aí, tudo bem, eu dou o save nos items (colocando o id manualmente) e funciona normal. O problema é o seguinte, se aparecer mais registros no banco de dados (de outra aplicacao) e usar criteria, o hibernate não traz os desgraçados. Eu to tentando achar no forum do hibernate, achei 2 sujeitos exatamente com o mesmo problema que eu, a solução é: adicionar a ligacao do outro lado.
Acho que isso não deveria ser assim, deve haver algum motivo para essa “caracteristica maléfica”, um cara do desenvolvimento do hibernate esta verificando isso. (enviei um exemplo para ele)
Se o proprio hibernate estiver gravando, mesmo se a outra ligacao, tudo funciona, o problema é quando outra aplicacao grava.
O pior: com join ele retornar um array vazio, com sub select ele retorna um array null. (isso tá com cara de bug)