Apanhando pra fazer persistencia utilizando mapeamento @manytomany

Galera é o seguinte, tenho as seguintes entidades no banco de dados:

paciente={id,nome,endereco,nome_mae,data_nasc}
vacina={id,nome}
doses={id,descricao}
historico={fk_vacina,fk_doses,fk_paciente,data)

a relação paciente x vacina =NxN
a relação vacina x doses= NxN
obs: vale lembrar que que essas duas relações NxN são tabela historico conforme mapeamento abaixo:

[code]

public class Paciente{
//bi-directional many-to-one association to Historico
@OneToMany(mappedBy=“paciente”)
private List historicos;

//bi-directional many-to-many association to Vacina
@ManyToMany(cascade={CascadeType.MERGE})
@JoinTable(
	name="historico"
	, joinColumns={
		@JoinColumn(name="fk_paciente")
		}
	, inverseJoinColumns={
		@JoinColumn(name="fk_vacina")
		}
	)
private List<Vacina> vacinas;

}[/code]

public class Vacina{

	//bi-directional many-to-one association to Historico
	@OneToMany(mappedBy="vacina")
	private List<Historico> historicos;

	//bi-directional many-to-many association to Paciente
	@ManyToMany(mappedBy="vacinas", cascade={CascadeType.MERGE})
	private List<Paciente> pacientes;

	//bi-directional many-to-many association to Dose
    @ManyToMany
	@JoinTable(
		name="historico"
		, joinColumns={
			@JoinColumn(name="fk_vacina")
			}
		, inverseJoinColumns={
			@JoinColumn(name="fk_doses")
			}
		)
	private List<Dose> doses;
}
public class Dose{
//bi-directional many-to-one association to Historico
	@OneToMany(mappedBy="dos")
	private List<Historico> historicos;

	//bi-directional many-to-many association to Vacina
	@ManyToMany(mappedBy="doses")
	private List<Vacina> vacinas;
}
public class historico{
//bi-directional many-to-one association to Dose
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="fk_doses")
	private Dose dos;

	//bi-directional many-to-one association to Paciente
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="fk_paciente")
	private Paciente paciente;

	//bi-directional many-to-one association to Vacina
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="fk_vacina")
	private Vacina vacina;
}

Minha dúvida é a seguinte, uma tabela de doses tem a seguinte descrição (primeira dose, segunda dose, terceira dose, quarta dose,dose unica)

Não sei o que fazer quando tiver que persistir por exemplo primeira e segunda dose de uma mesma vacina para um mesmo paciente, em uma determinada data, não sei se fui claro.

quem puder me ajudar eu agradeço, isso pra minha monografia q eu tenho q apresentar em junho.