Problema com Hibernate Validator em auto-relacionamento (relacionamento recursivo)

Boa tarde pessoal!

Estamos desenvolvendo um novo projeto aqui na empresa. Estamos utilizando Jsf 2, RichaFaces 4, Spring 3, Hibernate e Hibernate Validator.
Tenho a seguinte classe de domínio:

@Component
@Entity
public class Usuario {

	@Id
	@GeneratedValue()
	private int id;

	@NotBlank(message = "Nome: {value.notNull}")
	@NotNull(message = "Nome: {value.notNull}")
	@Column(nullable = false, length = 120)
	private String nome;

	@NotBlank(message = "Senha: {value.notNull}")
	@NotNull(message = "Senha: {value.notNull}")
	@Column(nullable = false)
	private String senha;

	@NotBlank(message = "Nome: {value.notNull}")
	@NotNull(message = "Nome: {value.notNull}")
	@Column(nullable = false, unique = true)
	private String login;

	@NotBlank(message = "Nome: {value.notNull}")
	@NotNull(message = "Nome: {value.notNull}")
	@Column(nullable = false)
	@Pattern(regexp = ".+@.+\\.[a-z]+", message = "Email: {value.email.invalid}")
	private String email;

	@Column(nullable = false)
	private boolean empresa = false;

	@Valid
        @Null
	@ManyToOne
	@JoinColumn(name = "idUsuarioResponsavel")
	private Usuario responsavel;


	@Valid
        @Null
	@ManyToOne
	@JoinColumn(name = "idUsuarioTutor")
	private Usuario tutor;

	@Column(nullable = false)
	private boolean status = false;

	@ManyToMany
	@JoinTable(name = "GrupoUsuario", joinColumns = { @JoinColumn(name = "idUsuario") }, inverseJoinColumns = { @JoinColumn(name = "idGrupo") })
	private Set<Grupo> grupos = new HashSet<Grupo>();

	@OneToMany
	@Cascade(CascadeType.SAVE_UPDATE)
	@JoinColumn(name = "idUsuario")
	private Set<AreaAtendimento> areasAtendimento = new HashSet<AreaAtendimento>();

	public Usuario() {

	}

O problema é o seguinte:
Tenho um Form Jsf na view para cadastro de usuarios. Quando chamo a action que insere um novo usuário no banco e este usuário não possui um tutor e/ou um responsável o hibernate validator retorna um erro de validação dizendo que o atributo nome do objeto tutor e/ou reponsável não pode ser nulo.
No método get do atributo tutor tenho o seguinte código:

	public Usuario getTutor() {
		if (tutor == null)
			tutor = new Usuario();
		return tutor;
	}

Não posso instanciar o objeto tutor e/ou reponsavel na declarção…

	@Null
	@ManyToOne
	@JoinColumn(name = "idUsuarioTutor")
	private Usuario tutor = new Usuario();

…porque isto gera um loop infinito na aplicação. Tentei não instanciar o objeto tutor e/ou reponsavel no método get e na declaração do objeto mas então o Jsf gera um erro quando tenta acessar a propriedade pelo método get porque está recebendo uma referência nula.

Alguém já passou por isto?