【发布时间】:2014-02-25 03:39:22
【问题描述】:
我试图让 javax.persistence 运行,但我得到了错误。 我搭建了一个小项目进行测试,创建实体类,persistence.xml,运行过程:
实体类:
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: glasses.Hund@5d2e0422 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,我只是想在这里给你错误信息,但stackoverflow 不会接受6000 个字符。 Sabuj Hassan 下面的答案对我的问题给出了有效的答案。即使现在我的项目有效,但结果并不令人满意。你知道如何更好地解决它吗?
标签: java database jpa entity persistence.xml