Duvidas com Hibernate Annotation

Bom dia!
Estou começando a estudar Struts com Hibernate.Baixei os pacotes Hibernate Core e Annotations.Tentei fazer um exemplo que vi na internet e parei em um problema e estou com duvidas.
Segue os códigos:

Classe Produto

@Entity
@Table(name = “produto”)
public class Produto extends ActionForm{
/**
*
*/
private static final long serialVersionUID = 1L;
@Column(name = “descricao”, nullable = true, length = 50)
private String descricao;
@Id @GeneratedValue
private Long id;

private Double preco;

private String nome;

public String getDescricao() {
	return descricao;
}

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

public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

public Double getPreco() {
	return preco;
}

public void setPreco(Double preco) {
	this.preco = preco;
}

public String getNome() {
	return nome;
}

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

}

hibernate.properties

hibernate.dialect org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://localhost/projeto
hibernate.connection.username root
hibernate.connection.password

HibernateFactory

public class HibernateFactory {
public static SessionFactory factory;

static{
	AnnotationConfiguration cfg = new AnnotationConfiguration();
	cfg.addAnnotatedClass(Produto.class);
	factory = cfg.buildSessionFactory();
}

public Session getSession() {
	return factory.openSession();
	
}

}

Cadastro Action

public class CadastroAction extends Action{
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res)throws Exception{

	Session session = new HibernateFactory().getSession();
	Produto produto = (Produto)form;
	new ProdutoDao(session).salva(produto);
	session.close();
	
	return mapping.findForward("sucesso");
}

}

ProdutoDao

public class ProdutoDao {
private Session session;

public ProdutoDao(Session session) throws Exception{
	this.session = session;
}
public void salva (Produto produto){
	this.session.save(produto);
}
public void remove (Produto produto){
	this.session.delete(produto);
}
public Produto procura (Long id){
	return (Produto) this.session.load(Produto.class, id);
}
public void atualiza (Produto produto){
	this.session.update(produto);
}

}

Erro:

root cause

org.hibernate.MappingException: Unknown entity: br.unig.teste.modelo.Produto
org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
br.unig.teste.dao.ProdutoDao.salva(ProdutoDao.java:14)
br.unig.teste.controle.CadastroAction.execute(CadastroAction.java:24)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Sendo que, eu consigo gerar tabela por essa configuração, e tbm cadastrar, se o codigo for assim:

public static void main(String [] args){

Session session = new HibernateFactory().getSession();
Produto p = new Produto();
p.setNome(“Arroz”);
p.setDescricao(“Branco”);
p.setPreco(1.00);
session.save§;
session.close;

E a outra dúvida, quais são os jars necessários para importar no projeto, para não ter que colocar todos.
Ajudem-me, pois farei prova na segunda e preciso mto disso!!!
Obrigado!!!

Unknown entity: br.unig.teste.modelo.Produto

Você mapeou essa classe no HIBERNATE.XML ?
Se mapeou, o caminho dela está correto?

Não.De acordo com o exemplo que eu peguei não tinha nenhum xml… :frowning:
Como seria este xml??? Vc teria um exemplo para me ajudar???
Grato.

Eu estou usando o exemplo deste tutorial, na parte do hibernate 3:
http://www.linux.ime.usp.br/~lopes/caelum/fj21.pdf
e to tentando adaptar com struts…

Alguem tem uma luz??? :?: