Problema ao maperar JPA

Quando vou criar uma @Entity ele não reconhece, só que está adicionei .jar e tudo.

The entity has no primary key attribute defined`

@Entity
public class Usuario{

cadê o resto da classe?

só queria escrever o erro.

Deletei todo meu repositorio do .jar e dei um build, Agora desapareceu o problema.

Mais quando tentei persistir o objeto estou com esse erro.

Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: model.Cliente
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1608)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1152)
at Util.JPAUtil.main(JPAUtil.java:33)

Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: model.Cliente
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:124)
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:58)
at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:778)
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:751)
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:756)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1146)
… 1 more

Já experimentou informar qual é a sua tabela do BD que deseja persistir ?

Abaixo do @Entity informe o @Table(name="MinhaTabelaNoBancoDeDados")

Exemplo:

@Entity
@Table(name="CAD_USUARIO")
public class Usuario { 
//dados da classe
}

detached entity passed to persist: model.Cliente

ele está dizendo que o objeto não está mais no contexto de persistencia do hibernate.

Coloca o seu código ai, tem que persistir dentro de uma transação.

Opa!
Segue aí

<persistence-unit name="oficina">

	<provider>org.hibernate.ejb.HibernatePersistence</provider>
	
	<class>model.Cliente</class>
	<class>model.Usuario</class>
		
	<properties>
		<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
		<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/oficina" />
		<property name="javax.persistence.jdbc.user" value="root" />
		<property name="javax.persistence.jdbc.password" value="root" />

		<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
		<property name="hibernate.hbm2ddl.auto" value="update" />
		<property name="hibernate.show_sql" value="true" />
		<property name="hibernate.format_sql" value="true" />
	</properties>
</persistence-unit>

coloca o código q ta persistindo.


em.persit(cliente)

coloca esse ai

antes de te enviar o codigo eu coloquei para rodar. rodou kkkkk lá vai os misterio rsrs… Obrigado aew!