Mapeamento no Hibernate

Pessoal, estou a começar a utilizar o hibernate, e estou com dificuldade em fazer mapemanto onetoone.
Tenho das tabelas, usuarios e grupos, onde um usuario só pertence a um grupo, e um grupo pode ter N usuarios

Os scripts do BD são:

CREATE TABLE "public"."Grupos" (
"id_pk_gru" int2 DEFAULT NULL NOT NULL,
"nome" varchar(30) DEFAULT NULL NOT NULL,
"descricao" varchar(30) DEFAULT NULL,
CONSTRAINT "Grupo_pkey" PRIMARY KEY ("id_pk_gru"),
CONSTRAINT "valida_grupo" UNIQUE ("id_pk_gru", "nome")
)
WITH (OIDS=FALSE)
;
CREATE TABLE "public"."usuarios" (
"id_pk_usu" int2 DEFAULT NULL NOT NULL,
"nome" varchar(50) DEFAULT NULL NOT NULL,
"senha" varchar(160) DEFAULT NULL NOT NULL,
"nome_usuario" varchar(30) DEFAULT NULL NOT NULL,
"id_fk_gru" int2 DEFAULT NULL,
"e_mail" varchar(30) DEFAULT NULL,
CONSTRAINT "Usuario_pkey" PRIMARY KEY ("id_pk_usu"),
CONSTRAINT "id_pk_grupo" FOREIGN KEY ("id_fk_gru") REFERENCES "public"."Grupos" ("id_pk_gru") ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT "valida_usuario" UNIQUE ("id_pk_usu", "nome_usuario")
)
WITH (OIDS=FALSE)
;

ALTER TABLE "public"."usuarios" OWNER TO "postgres";

As classes:

/*
 * UsuarioDTO.java
 *
 * Created on 12 de Março de 2007, 13:44
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package bean;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;






/**Classe responsavel pela tranferencia de dados entre objeto usuario e os dados do banco,
 *
 * @author Rogerio Tomassoni
 *
 * @version 0.1
 *
 * @since Release 01 da aplicacao
 *
 */


@Entity
@Table(name = "Usuarios")
public class UsuarioBean implements Serializable {
    @Id @GeneratedValue(strategy = GenerationType.SEQUENCE)
    @Column(name = "id_pk_usu")
    private int id_pk_usu;
    private String nome;
    private String senha;
    private String nome_usuario;
    private int id_fk_gru;
    private String e_mail;
   
   
    
    /**
     * Metodos get e set para todos os atibutos do objeto usuario
     */
    
    public int getId_pk_usu() {
        return id_pk_usu;
    }
    
    public void setId_pk_usu(int id_pk_usu) {
        this.id_pk_usu = id_pk_usu;
    }
    
    public String getNome() {
        return nome;
    }
    
    public void setNome(String nome) {
        this.nome = nome;
    }
    
    public String getSenha() {
        return senha;
    }
    
    public void setSenha(String senha) {
        this.senha = senha;
    }
    
    
    public int getId_fk_gru() {
        return id_fk_gru;
    }
    
    public void setId_fk_gru(int id_fk_gru) {
        this.id_fk_gru = id_fk_gru;
    }

    public String getNome_usuario() {
        return nome_usuario;
    }

    public void setNome_usuario(String nome_usuario) {
        this.nome_usuario = nome_usuario;
    }

    public String getE_mail() {
        return e_mail;
    }

    public void setE_mail(String e_mail) {
        this.e_mail = e_mail;
    }

   
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package dao;

import control.HibernateUtil;
import java.util.List;
import org.hibernate.Session;

/**
 *
 * @author Tomassoni
 */
public class UsuarioDAO {

     private Session session;

    public List listar() {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        List usuarios = session.createQuery("from UsuarioBean").list();
        session.getTransaction().commit();
        return usuarios;
    }

}
/*
 * GrupoDTO.java
 *
 * Created on 5 de Maio de 2007, 18:46
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package bean;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Entity;


/**Classe reponsavel pelo tranferencia de dados da entidade que representa
 *os grupos de usarios
 *
 * @author Rogerio Tomassoni
 *
 *@version 0.1
 *
 * @since  01 da aplicacao
 */
@Entity
@Table(name = "Grupos")
public class GrupoBean implements Serializable {

    
    @Id @GeneratedValue(strategy = GenerationType.SEQUENCE)
    @Column(name = "id_pk_gru")
    private int id_pk_gru;
    private String nome;
    private String descricao;

    public GrupoBean() {
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    /**
     * @return the id
     */
 
    /**
     * @return the id_pk_gru
     */
    public int getId_pk_gru() {
        return id_pk_gru;
    }

    /**
     * @param id_pk_gru the id_pk_gru to set
     */
    public void setId_pk_gru(int id_pk_gru) {
        this.id_pk_gru = id_pk_gru;
    }
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao;

import control.HibernateUtil;
import java.util.List;
import org.hibernate.Session;

/**
 *
 * @author Tomassoni
 */
public class GrupoDAO {

    private Session session;

    public List listar() {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        List usuarios = session.createQuery("from Grupos").list();
        session.getTransaction().commit();
        return usuarios;
    }
}

Chamo assim:

UsuarioDAO usuarioDAO = new UsuarioDAO();
        List<UsuarioBean> listaUsuarios = usuarioDAO.listar() ;
        for (UsuarioBean usuarioBean : listaUsuarios) {
            System.out.println(usuarioBean.getNome_usuario() + " - " + usuarioBean.getId_fk_gru());
        }

O resultado está certo, a pesquisa é feita em usuario, mas como faço para fazer com que ele traga o grupo do usuario também?
Alguém poderia me ajudar?