Problema ao maperar JPA

7 respostas
java
D

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{

7 Respostas

E

cadê o resto da classe?

D

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

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
}
T

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.

D

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>
T

coloca o código q ta persistindo.


em.persit(cliente)

coloca esse ai

D

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

Criado 11 de janeiro de 2017
Ultima resposta 11 de jan. de 2017
Respostas 7
Participantes 4