Jsf

Companheiros o meu problema é o seguinte tenho um formulario para cadastro de usuários onde tem um atributo perfil da entidade usuario que por sua vez é mapeado utilizando-se JPA para referenciar o id da entidade perfil como segue no codigo abaixo(ou seja um usuario está relacionado a somente um perfil e o contrario possui muitos usuários). Gostaria de saber uma forma de carregar as informações do banco referente aos perfis cadastrados e carrega-los em um select-one-menu ou outro componente em que o usuario possa selecionar o perfil do usuario e o atributo referente a perfil na tabela usuario seja setado com o valor correspondente, estou utilizando JSF.

public class Usuario implements Serializable {

	private static final long serialVersionUID = 1L;

	
    @Column(nullable = false)
	private String nome;

	@Id
	@Column(nullable = false)
	private int matricula;

	@Column(nullable = false)
	private int cpf;

    @Column(nullable = false)
	private int rg;

	@Column(nullable = false)
	private String patente;
	private String unidadeOperacional;

	@Column(nullable = false)
	private String login;

	@Column(nullable = false)
	private String senha;
	private String secao;
	private String email;

	@ManyToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "Perfil_id", referencedColumnName = "id")
	// @Column(nullable = false)
	private Perfil perfil;

	@ManyToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "Unidade_id", referencedColumnName = "id")
	@Column(nullable = false)
	private Unidade unidade;
public class Perfil implements Serializable{

	private static final long serialVersionUID = 1L;

	@Id
	@Column(nullable = false)
	private int id;

	@Column(nullable = false)
	private String descricao;

	@OneToMany(mappedBy = "perfil", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
	private Set<Usuario> usuarioCollection;

Desde ja agradeço pela atenção.