Falha no cadastro

Bom pessoal,

Estou fazendo um cadastro simples com persistencia de Hibernate.
Fiz um menu simples basico, porem quando ponho para rodar ele me pergunta o que quero fazer, porem apos selecionar ele regista a minha entrada, sem perguntar a condiçao.
Segue print do console e o codigo do main:

[code]public static void main(String[] args) {

	Scanner ler = new Scanner(System.in);
	
	File arquivoHibernate = new File("ArquivosConfiguracao/hibernate.cfg.xml");
	ConexaoBancoDados conexaoBancoDados = ConexaoBancoDados.getConexaoBancoDados(arquivoHibernate);
	
	PlanoDAO planoDAO = new PlanoDAO(conexaoBancoDados);
	Plano plano = new Plano();
	
	LinhaDAO linhaDAO = new LinhaDAO(conexaoBancoDados);
	Linha linha = new Linha();
	
	int opacao = 0;		
	String parada = null;
	
	System.out.println("Digite 1 para cadastro de plano");
	System.out.println("Digite 2 para cadastro de linha");
	System.out.println("Digite 3 para cadastro de aparelho");
	System.out.println("Digite 4 para cadastro de funcionario");
	
	opacao = ler.nextInt();
	
	do {
		switch (opacao) {
		case 1: //Cadastro Plano da Linha 
			System.out.println("Digite a descrição do plano");
			String descricao = ler.nextLine();
			plano.setDescricao(descricao);
			
			planoDAO.CadastroPessoa(plano);
			
			break;

		case 2: //Cadastro da Linha, tem que ter a referentcia do Plano
			System.out.println("Digite o codigo do chip");
			String codChip = ler.nextLine();
			linha.setCodChip(codChip);
			System.out.println("Digite o numero da linha");
			int numero = ler.nextInt();
			linha.setNumero(numero);
			System.out.println("Digite a referencia do plano");
			int plano_linha = ler.nextInt();
			linha.setPlano(plano_linha);
			
			linhaDAO.CadastroPessoa(linha);
			
		default:
			break;
		}
		
		System.out.println("Continuar no cadastro?");
		System.out.println("sim // nao");
		parada = ler.nextLine();
		
	} while (parada.equalsIgnoreCase("sim"));
	
}[/code]