Creí que tus palabras estaban separadas por el carácter ; y no por el -. Te pongo el código para separar con guines:
Código:
String valor = datos.getCadena();
StringTokenizer tk = new StringTokenizer(valor, "-"); // Cambia aquí el separador
while(tk.hasMoreTokens()){
System.out.println(tk.nextToken());
}
Acostúmbrate a usar el tokenizer, es muy útil aunque no lo parezca. Saludos