Erro de "Unknown entity"

app-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<context:annotation-config/>
<context:component-scan base-package="br.com.caelum.estoque" />

<bean
	class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/views/" />
	<property name="suffix" value=".jsp" />
</bean>

<mvc:annotation-driven />

<bean id="sessionFactory"
	class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
	<property name="hibernateProperties">
		<props>
			<prop key="hibernate.connection.url">jdbc:mysql://localhost/fj27</prop>
			<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
			<prop key="hibernate.connection.connection.username">root</prop>
			<prop key="hibernate.connection.connection.password">microsoft</prop>
			<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
			<prop key="hibernate.show_sql">true</prop>
			<prop key="hibernate.format_sql">true</prop>
			<prop key="hibernate.hbm2ddl.auto">update</prop>
			<prop key="hibernate.connection.autocommit">true</prop>
		</props>
	</property>
	<property name="annotatedClasses">
		<list>
			<value>br.com.caelum.estoque.model.Produto</value>
		</list>
	</property>
</bean>

e o erro dado é
org.hibernate.MappingException: Unknown entity: br.com.caelum.estoque.model.Produto

Não estou entendendo este erro?

Unknown entity = Entidade desconhecida. Isso significa que você pode até ter mapeado no app-config.xml, mas, não significa que você mapeou a entidade em um arquivo Produto.hbm.xml ou com a annotation @Entity.

P.S.: Custa usar a tag [code] para formatar teu código?

È isso mesmo está faltando a entidade no app-config.xml, mas provavelmente não é essa entidade… se o curso for o FJ-27 da Caelum tem que ter a entidade Movimentacao ai também.

<list> <value>br.com.caelum.estoque.model.Produto</value> <value>br.com.caelum.estoque.model.Movimentacao</value> </list>

E não se esqueça do @Entity

Abs

[quote=jmag]È isso mesmo está faltando a entidade no app-config.xml, mas provavelmente não é essa entidade… se o curso for o FJ-27 da Caelum tem que ter a entidade Movimentacao ai também.

<list> <value>br.com.caelum.estoque.model.Produto</value> <value>br.com.caelum.estoque.model.Movimentacao</value> </list>

E não se esqueça do @Entity

Abs[/quote]
O mapeamento da entidade em questão está correto no app-config.xml, embora o nosso camarada não tenha utilizado a tag code, ela se encontra aqui

<property name="annotatedClasses"> 
   <list> 
      <value>br.com.caelum.estoque.model.Produto</value> 
   </list> 
</property> 

Basta apenas o mapeamento para persistência, na própria entidade.

Sim, cara nesse é isso mesmo… mas esse exemplo é utilizando no Curso http://www.caelum.com.br/curso/fj-27-spring-framework/ já passei por esse erro. Provavelmente esqueceu o @Entity no Produto mas quis lembrar pra ele que existe a outra entidade também.

Abs

A minha classe produto é

package br.com.caelum.estoque.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Produto {

@Id
@GeneratedValue
private long id;
private String descricao;
private Integer quantidade;
	
public Produto(){
	setId(getId() + 1);
}

public String getDescricao() {
	return descricao;
}

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

public Integer getQuantidade() {
	return quantidade;
}

public void setQuantidade(Integer quantidade) {
	this.quantidade = quantidade;
}

public long getId() {
	return id;
}

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

}