0
私はJPAを初めて使い、問題があります。私は、おそらくpersistence.xmlを使ってこの問題を読んでいます。JPA例外:オブジェクト:既知のエンティティタイプではありません
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="GreekTravelPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>entities.Room</class>
<class>entities.Country</class>
<class>entities.User</class>
<class>entities.RoomType</class>
<class>entities.Role</class>
<class>entities.Photo</class>
<class>entities.Availability</class>
<class>entities.Message</class>
<class>entities.Location</class>
<class>entities.Booking</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/greektraveldb?zeroDateTimeBehavior=convertToNull"/>
<property name="javax.persistence.jdbc.user" value="psilos"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.password" value="psilos"/>
<property name="javax.persistence.schema-generation.database.action" value="create"/>
</properties>
</persistence-unit>
</persistence>
マイExeption:
java.lang.IllegalArgumentException: Object: [email protected] is not a known entity type.
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.mergeCloneWithReferences(UnitOfWorkImpl.java:3510)
at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.mergeCloneWithReferences(RepeatableWriteUnitOfWork.java:384)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.mergeCloneWithReferences(UnitOfWorkImpl.java:3481)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.mergeInternal(EntityManagerImpl.java:542)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.merge(EntityManagerImpl.java:519)
実際のコードは、あなたは、エンティティ・マネージャとエンティティマネージャをマージしている
@Override public void update(User user) {
EntityManager em = EntityManagerHelper.getEntityManager();
try {
EntityTransaction entityTrasacrion = em.getTransaction();
entityTrasacrion.begin();
em.merge(em);
entityTrasacrion.commit();
} catch (RuntimeException e) {
throw e;
} finally {
EntityManagerHelper.closeEntityManager();
}
}
する必要があります。 – corsiKa
'@Override public void update(ユーザーユーザー){ EntityManager em = EntityManagerHelper.getEntityManager();EntityTransaction entityTrasacrion = em.getTransaction entityTrasacrion.begin(); em.merge(em); entityTrasacrion.commit(); } catch(RuntimeException e){ throw e; }最後に{ EntityManagerHelper.closeEntityManager(); } } ' – psilos
私は更新したいです。このリンクを検索[リンク](https://kodejava.org/how-do-i-update-entity-object-using-jpa/) – psilos