[RESOLVIDO] Binding com java.util.Set em um formulário usando Spring MVC 5

Como estou usando JPA, não gostaria de trocar “SET” por “LIST”; pois esta simples troca reflete no comportamento do banco de dados.

O meu problema é: Preciso passar através de um formulário o Phone, através da classe Client, setando o ddd e o number. Porém, na JSP, estou tendo dificuldades em acessar a classe Phone através do Client. Se fosse com List, seria mais fácil. Procurei soluções, porém não achei.

A exceção é:

Entendi a exceção. Porém, não sei como fazer o acesso usando implementações SET.

Segue as classes e a JSP abaixo:

@Entity
public class Phone implements Serializable {
	private static final long serialVersionUID = 7507976788394149092L;

	@Id
	private String ddd;

	@Id
	private String number;

	public String getDdd() {
		return ddd;
	}

	public void setDdd(String ddd) {
		this.ddd = ddd;
	}

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}

	public void setPrincipal(boolean principal) {
		this.principal = principal;
	}

}
@Entity
public class Client {

        @Id
	@Column(columnDefinition = "CHAR(11)")
	private String cpf;

	@ManyToMany
	private Set<Phone> phones = new HashSet<Phone>();

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public Set<Phone> getPhones() {
		return phones;
	}

	public void setPhones(Set<Phone> phone) {
		this.phones = phone;
	}

	
}
...
<label for="dddPhone">DDD - Fixo</label>
<springForm:input path="phones.ddd" type="number" class="form-control" id="dddPhone" placeholder="DDD" />
... 

Minha solução, pra não ficar em branco para quem tiver a mesma dúvida, é:

Consegui usar “LIST” em tudo. Apenas modifiquei os modelos, e uma solução foi: Criar apenas uma única ID neles e tirar o proveito das instruções de banco de dados (UNIQUE) que o hibernate dá suporte.

Andei lendo sobre a recomendação de chave única e resolvi por em prática. Eu estava utilizando chave composta demais.

O bom disso é que o modelo ficou muito bom no final das contas.