Persistir List<Veiculo> para um Motorista

Boa tarde Pessoal.

Estou começando com JEE JPA HIBERNAT

Tenho a seguinte situação um entity Motorista e um entity Veiculo

vejam como elas estão


@Entity 
public class Veiculo implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int idveiculo;

	@ManyToOne
	@JoinColumn(name = "idMot") 
	private Motorista motorista;

	private String anoVei;

	private float capasciVei;

	private String marcaVei;

	private String modeloVei;

	private String tipoVei;

   // gets and sets

e



@Entity
public class Motorista implements Serializable {
	private static final long serialVersionUID = 1L;
 
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int idMot;

	@OneToMany(mappedBy = "motorista")
	private List<Veiculo> veiculo;

	private String categoriaCnhMot;

	private int cnhMot;

      // gets and sets

Como que eu faço para persistir no BD

EX;

Veiculo v1 = new Veiculo();
Veiculo v2 = new Veiculo();
Veiculo v3 = new Veiculo();

associado somente com um Motorista

ou seja, um motorista tem muitos veiculos e muitos veiculos pertence somente a um motorista

tentei criar uma lista de veiculo para setar em um motorista, porem minha mente já embaralhou toda


List<Veiculo> listaDeVeiculos;

motorisa.setVeiculo(listaDeVeiculos);

agora ja não sei mais 

obrigado Qualguer Ajuda;

Você precisa criar um objeto veiculo para cada veículo que deseja inserir em motorista e depois adicionar o objeto a lista de veiculos.

[code]Veiculo v1 = new Veiculo(“FXC 3603”, “Amarelo”, …);
Veiculo v2 = new Veiculo(“FXC 8808”, “Vermelho”, …);
Veiculo v3 = new Veiculo(“FXC 3000”, “Verde”, …);

List<Veiculo> veiculos = new ArrayList<Veiculo>();
veiculos.add(v1);
veiculos.add(v2);
veiculos.add(v3);

motorista.setVeiculos(veiculos);[/code]

1ª Trocar Por um ‘Set’, porque? Na hora de você trazer o objeto Motorista ele vai trazer todos os veiculos. se você usar o ‘List’ ele não vai trazer.
2ª Quando você for persistir o Motorista, alimenta esse Set com todos os veiculos que você queira.

Seu Código
   @OneToMany(mappedBy = "motorista")  
    private List<Veiculo> veiculo;  

Novo Código
@OneToMany(mappedBy = "motorista", cascade=CascadeType.ALL, fetch=FetchType.EAGER)
private Set<Veiculo> veiculo= new HashSet<Veiculo>(0);

Como assim com List não vai trazer?

A única diferença é que o Set não aceita veículos repetidos e pode trazer os veículos respeitando algum tipo de ordenação.

Esta dando para entender. vou esperar mais respostas

Aqui mostra como fazer, e como você poderia utilizar o cascade para te ajudar na persistência: JPA: Mini Livro - Primeiros passos e conceitos detalhados.

Obrigado Hebert Coelho vou dar uma olhada agora.

Seu site é ótimo, muitos assuntos bem detalhados