Я пытаюсь запустить javax.persistence, но я получаю erros. я создал небольшой проект для тестирования, создание класса сущностей persistence.xml, и запущенный процесс:Проблемы с созданием Java-проекта с JPA
Entity класс:
package glasses;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Hund implements Serializable {
@Id
private long id;
private String name;
private String typ;
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getTyp() {
return this.typ;
}
public void setTyp(String typ) {
this.typ = typ;
}
}
persistence.xml:
<?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="GlassesPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/glasses?zeroDateTimeBehavior=convertToNull"/>
<property name="javax.persistence.jdbc.password" value="mypwd"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
</properties>
</persistence-unit>
</persistence>
Сообщение об ошибке:
Caused by: java.lang.IllegalArgumentException: Object: [email protected] is not a known entity type.
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4228)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:496)
at glasses.FXMLDocumentController.handleButtonAction(FXMLDocumentController.java:48)
... 54 more
Кто-нибудь знает проблему? Что-то не так в классе Hund? Или в persistence.xml?
вы можете показать полное исключение? – Mehdi
Эй, @Mehdi, я просто попытался дать вам сообщение об ошибке здесь, но stackoverflow не примет 6000 символов. Ответ ниже Сабудж Хассан дал рабочий ответ на мою проблему. Хотя сейчас мой проект работает, результат не совсем удовлетворительный. У вас есть идея, как его решить лучше? – Socrates