在一个JSF 2.1 - Spring 3.1集成项目中。我尝试使用eclipselink 2.3.2,Glassfish 3.1.2和Maven在我的项目上处理事务容器。在Netbeans IDE 7.2上工作。Eclipselink -Glassfish项目对象不是已知的实体类型错误
在服务层我通过下面的代码注入实体管理器,并在调试它似乎确定。
@Inject
public void setEntityManager() {
EntityManagerFactory emfactory =Persistence.createEntityManagerFactory
("E_DefterManagementPU");
this.em = emfactory.createEntityManager();
但之后,我充满命名实体EfaFunctions,并尝试与
em.persist(EfaFunctions);
它给这个错误继续存在
java.lang.IllegalArgumentException: Object: [email protected]
is not a known entity type.
但在** **的persistence.xml我有以下节点
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>EFA</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
我的实体项目位置是com.edefter.entity.EfaFunctions;而不是错误指定的位置。实际上,有一个答案是由Pascal in this link 写的,但我的生成策略是none,我的实体是由netbeans生成的。需要一些专家的意见。由于提前
我删除了
@Table(name="EFA_FUNCTIONS")
注释从实体的顶部,但@Entity仍然停留。 该错误是走了,但随后的查询开始为
INSERT INTO EFAFUNCTIONS
,没有下划线,但我需要
INSERT INTO EFA_FUNCTIONS
,becouse它的数据并没有插入。为什么eclipselink给@Table注释带来错误,尽管没有像EFAFUNCTIONS这样的表为什么没有给出任何错误
对不起,我已经给它一个实体作为参数;我更新了它 – Malcolmxappa 2013-05-13 15:03:58
包含你当前的错误。 – James 2013-05-13 15:38:13
@James我在下面的代码中给出了EntityManager对象而不是EfaFunctions。谢谢你的兴趣我想我解决了问题 em.persist(EfaFunctions); – Malcolmxappa 2013-05-13 17:42:55