Dúvida JPA urgente!

Olá pessoal, não estou conseguindo recuperar as entidades em list. Até consigo recuperar a entodade tipoUsuario mais a list vem vazia, o que estou fazendo de errado???Estou utilizando o mySql.

tipoUsuario.java

package aftiv.login;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "tipo_usuarios")
public class tipoUsuario implements Serializable {
	
	private static final long serialVersionUID = 1L;
	@Id
	@Column(name="ID_TIPO_USUARIOS",nullable=false)
	@GeneratedValue(strategy=GenerationType.AUTO)
	private int id_tipo_usuarios = 0;
	@Column(name = "TIPO")
	private String tipo = "";
	@OneToMany(mappedBy="tipoUsuario",fetch=FetchType.LAZY,cascade={CascadeType.ALL})
	private List<usuarios> usuarios = new ArrayList<usuarios>();
	/**
	 * @return the usuarios
	 */
	
	public List<usuarios> getUsuarios() {
		return usuarios;
	}
	/**
	 * @param usuarios the usuarios to set
	 */
	public void setUsuarios(List<usuarios> usuarios) {
		this.usuarios = usuarios;
	}
	/**
	 * @return the idTipoUsuario
	 */
	public int getId_tipo_usuarios() {
		return id_tipo_usuarios;
	}
	/**
	 * @param idTipoUsuario the idTipoUsuario to set
	 */
	public void setId_tipo_usuarios(int id_tipo_usuarios) {
		this.id_tipo_usuarios = id_tipo_usuarios;
	}
	
	/**
	 * @return the tipo
	 */
	public String getTipo() {
		return tipo;
	}
	/**
	 * @param tipo the tipo to set
	 */
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}


usuarios.java

package aftiv.login;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import java.io.Serializable;



import aftiv.db.db;
import javax.persistence.*;

@Entity
@Table(name = "usuarios")
public class usuarios implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Id
	private String id_usuario = "";
	private String username = "";
	private String senha = ""; 
	@ManyToOne(fetch=FetchType.LAZY,cascade={CascadeType.ALL})
	@JoinColumn(name="TIPO_USUARIOS_ID_TIPO_USUARIOS")
	private tipoUsuario tipoUsuario;
	private Date data_inclusao = new Date();
	

	@Column(name = "USERNAME")
	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	@Column(name = "SENHA")
	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public usuarios localizarUsuario(String usuario, String senha) {

		db banco = new db("jdbc:mysql://localhost/aftiv", "masterkey", "root",
				"com.mysql.jdbc.Driver");
		Connection conn = banco.conectar();
		Statement stm = null;
		ResultSet rs = null;
		usuarios user = new usuarios();
		try {
			stm = conn.createStatement();
			rs = stm.executeQuery("select * from usuarios where username = '"
					+ usuario + "' and senha = '" + senha + "'");
		} catch (SQLException ex) {
		}

		try {
			while (rs.next()) {
				user.setSenha(rs.getString("SENHA"));
				user.setUsername(rs.getString("USERNAME"));
				user.setId_usuario(rs.getString("ID_USUARIO"));
				user.getTipoUsuario().setId_tipo_usuarios(rs
						.getInt("TIPO_USUARIOS_ID_TIPO_USUARIOS"));

			}
		} catch (Exception ex) {
			return null;
		}
		return user;
	}
	
	/**
	 * @return the tipoUsuario
	 */
	public tipoUsuario getTipoUsuario() {
		return tipoUsuario;
	}

	/**
	 * @param tipoUsuario the tipoUsuario to set
	 */
	public void setTipoUsuario(tipoUsuario tipoUsuario) {
		this.tipoUsuario = tipoUsuario;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATA_INCLUSAO")
	
	public Date getData_inclusao() {
		return data_inclusao;
	}

	/**
	 * @param data_inclusao
	 *            the data_inclusao to set
	 */
	public void setData_inclusao(Date data_inclusao) {
		this.data_inclusao = data_inclusao;
	}

	//@Id
	/*
	 * *
	 * 
	 * @return the id_usuario
	 */
	public String getId_usuario() {
		return id_usuario;
	}

	/**
	 * @param id_usuario
	 *            the id_usuario to set
	 */
	public void setId_usuario(String id_usuario) {
		this.id_usuario = id_usuario;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}
	
}

Aqui eu tento recuperar o list

package aftiv.dao;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import aftiv.login.tipoUsuario;
import aftiv.login.usuarios;

public class tipoUsuarioDao {
	private EntityManagerFactory emf;
	private EntityManager em;

	public tipoUsuarioDao() {
		emf = Persistence.createEntityManagerFactory("jpa");
	}

	private EntityManager getEntityManager() {
		return emf.createEntityManager();
	}

	public List findAll() {
		em = this.getEntityManager();
		List lista = new ArrayList();
		try {
			lista = em.createQuery("FROM tipoUsuario").getResultList();
		} catch (Exception ex) {
		} finally {
			em.close();
		}
		return lista;
	}

	public tipoUsuario findTipoUsuario(int id) {
		tipoUsuario tu = new tipoUsuario();
		em = this.getEntityManager();
		
		try {
			em.refresh(tu);
			tu = em.find(tipoUsuario.class, id);
			
		} catch (Exception ex) {
		} finally {
			em.close();
		}
		return tu;
	}

	public boolean persist(tipoUsuario tu) {
		boolean resultado = true;
		em = this.getEntityManager();
		em.getTransaction().begin();
		try {
			em.persist(tu);
			em.getTransaction().commit();
		} catch (Exception ex) {
			em.getTransaction().rollback();
			resultado = false;
		} finally {
			em.close();
		}
		return resultado;
	}

	public boolean remove(tipoUsuario tu) {
		boolean resultado = true;

		em = this.getEntityManager();
		em.getTransaction().begin();

		try {
			tu = em.merge(tu);
			em.remove(tu);
			em.getTransaction().commit();
		} catch (Exception ex) {
			em.getTransaction().rollback();
			resultado = false;
		} finally {
			em.close();

		}
		return resultado;
	}

	public static void main(String[] args) {
		/* TODO Auto-generated method stub*/
		tipoUsuarioDao dao = new tipoUsuarioDao();
		/*tipoUsuario tu = new tipoUsuario();
		tu.setTipo("MAESTRO");
		tu.setId_tipo_usuarios(6);*/
		System.out.println(dao.findTipoUsuario(2).getUsuarios().size());
	}

}