Boa noite, pessoal. Estou começando os estudos no hibernate.
Minhas tabelas:
Tabela proprietarios:
            nome varchar(20);
            cpf varchar(20); - primary key
Tabela carros:
           idCarro varchar(20) - primary key
           cpf varchar(20) - references proprietarios (cpf) - FK para fazer join com o proprietario
           modelo varchar (20)Dúvida1:
Eu não ia colocar uma chave primaria em carros, apenas uma chave estrangeira, para que pudesse fazer join com usuarios. Mas nao consegui mapear sem o idCarro. Toda tabela vai necessitar de uma chave primária?
Dúvida2:
Quando criei um usuario e dois carros, passo o objeto usuario para os objetos carros. Os objetos usuarios tem um hashset, com o conjunto de carros. Se eu der um save no usuario, os objetos carros sao salvos na tabela carros?
Exemplo:
   // crio e gravo o usuario no banco
   crio proprietario1;
   session.save(proprietario1)
   //crio dois carros
   crio carro1 (passando como parametro idCarro1, proprietario1, modelo1)
   crio carro2 (passando como parametro idCarro2, proprietario1, modelo2)
   // coloco os carros na lista de carros que o usuario tem. Pensei que dando um "save" no usuario, os carros tb seriam gravados, na tabela de carros (mas isso nao acontece)
   proprietario1.getHashSetCarros().add(carro1)
   proprietario1.getHashSetCarros().add(carro2)
   //aqui sim, os carros sao gravados na tabela.
   session.save(carro1)
   session.save(carro2)Duvida3:
Eu sei fazer uma query simples, por exemplo, um select * from carros. e pegar todos os carros. Mas como faço algo do tipo:
  select proprietarios.cpf, carros.modelo
  from proprietarios, carros
  where proprietario.cpf = carros.cpf;Na verdade, seria pegar todos os proprietários que existem e seus respectivos carros. o Relacoinamento é 1xN, pois um proprietario pode ter vários carros e vários carros podem pertencer a uma mesmo proprietario.
Acho que as dúvidas sao bem simples, mas se for necessario enviar o codigo fonte, posso passar num arquivo zip. na verdade, acho que depois que resolver essa, vou ter mais algumas, mas com o tempo, envio por aqui. Li alguns tutoriais, mas sempre surgem algumas duvidas, como a Dúvida2… Desde já, obrigado!