未知实体 JPA Netbeans
Posted
技术标签:
【中文标题】未知实体 JPA Netbeans【英文标题】:Unknown entity JPA Netbeans 【发布时间】:2012-12-06 00:54:36 【问题描述】:有人知道错误吗?
ColegioJpaController jpa = new ColegioJpaController();
Colegio c = new Colegio();
c.setId(1);
c.setDescripcion("Virgen de Guadalupe");
c.setUbigeo(1234);
jpa.create(c);
运行: dic 05, 2012 7:48:39 PM org.hibernate.cfg.annotations.Version 信息:Hibernate Annotations 3.3.1.GA dic 05, 2012 7:48:39 PM org.hibernate.cfg.Environment 信息: Hibernate 3.2.5 dic 2012 年 5 月 7:48:39 PM org.hibernate.cfg.Environment 信息:hibernate.properties not found dic 05, 2012 7:48:39 PM org.hibernate.cfg.Environment buildBytecodeProvider 信息:字节码提供者名称:cglib dic 05, 2012 7:48:39 PM org.hibernate.cfg.Environment 信息:使用 JDK 1.4 java.sql.Timestamp 处理 dic 05, 2012 7:48:39 PM org.hibernate.ejb.Version 信息:休眠 EntityManager 3.3.2.GA dic 05, 2012 7:48:40 PM org.hibernate.cfg.AnnotationConfiguration secondPassCompile 信息:未找到休眠验证器:忽略 dic 05, 2012 下午 7:48:40 org.hibernate.connection.DriverManagerConnectionProvider 配置信息:使用 Hibernate 内置连接池(不是 供生产使用!) dic 2012 年 7 月 5 日下午 7:48:40 org.hibernate.connection.DriverManagerConnectionProvider 配置 信息:Hibernate 连接池大小:20 dic 05, 2012 7:48:40 PM org.hibernate.connection.DriverManagerConnectionProvider 配置 信息:自动提交模式:true dic 05, 2012 7:48:40 PM org.hibernate.connection.DriverManagerConnectionProvider 配置 信息:使用驱动程序:com.mysql.jdbc.Driver 在 URL: jdbc:mysql://localhost:3306/academia dic 05, 2012 7:48:40 PM org.hibernate.connection.DriverManagerConnectionProvider 配置 信息:连接属性:user=root, password=****, autocommit=true, release_mode=auto 2012 年 5 月 5 日下午 7:48:40 org.hibernate.cfg.SettingsFactory buildSettings 信息:RDBMS: MySQL,版本:5.5.25a dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:JDBC 驱动:MySQL-AB JDBC驱动,版本:mysql-connector-java-5.1.13( 修订: $bzr.revision-id ) dic 05, 2012 7:48:40 PM org.hibernate.dialect.Dialect 信息:使用方言: org.hibernate.dialect.MySQLDialect dic 05, 2012 7:48:40 PM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory 信息:交易策略: org.hibernate.transaction.JDBCTransactionFactory dic 05, 2012 7:48:40 PM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup 信息:无 TransactionManagerLookup 已配置(在 JTA 环境中,使用读写或事务 不推荐二级缓存)dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息: 在 beforeCompletion() 期间自动刷新:禁用 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:交易结束时自动关闭会话:已禁用 2012 年 5 月 5 日下午 7:48:40 org.hibernate.cfg.SettingsFactory buildSettings 信息:JDBC 批量大小:15 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:JDBC 版本化数据的批量更新:禁用 dic 2012 年 5 月 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息: 可滚动的结果集:启用 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:JDBC3 getGeneratedKeys():启用 dic 2012 年 5 月 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息: 连接释放模式:auto dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:最大值 外连接获取深度:2 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:默认 批量获取大小:1 dic 2012 年 5 月 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:生成 带有 cmets 的 SQL:禁用 dic 2012 年 5 月 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:订单 按主键更新 SQL:禁用 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:订单 用于批处理的 SQL 插入:禁用 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory 信息:查询翻译器: org.hibernate.hql.ast.ASTQueryTranslatorFactory dic 05, 2012 7:48:40 PM org.hibernate.hql.ast.ASTQueryTranslatorFactory 信息:使用 ASTQueryTranslatorFactory dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:查询 语言替换: dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:JPA-QL 严格合规:启用 dic 2012 年 5 月 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息: 二级缓存:启用 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:查询 缓存:禁用 dic 2012 年 5 月 7:48:40 PM org.hibernate.cfg.SettingsFactory createCacheProvider 信息: 缓存提供者:org.hibernate.cache.NoCacheProvider dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:针对最小放置优化缓存:禁用 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:结构化二级缓存条目:disabled dic 05, 2012 年 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:统计:禁用 dic 2012 年 5 月 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:已删除 实体合成标识符回滚:禁用 dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息: 默认实体模式:pojo dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory buildSettings 信息:命名 查询检查:启用 dic 05, 2012 7:48:40 PM org.hibernate.impl.SessionFactoryImpl 信息:构建 会话工厂 dic 2012 年 5 月 7:48:40 PM org.hibernate.impl.SessionFactoryObjectFactory addInstance 信息:未将工厂绑定到 JNDI,未配置 JNDI 名称 线程“主”java.lang.IllegalArgumentException 中的异常: 未知实体:com.bitsperu.academia.entidad.Colegio at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223) 在 com.bitsperu.academia.entidad.ColegioJpaController.create(ColegioJpaController.java:54) 在 com.bitsperu.academia.utilidades.Main.main(Main.java:32) Java 结果:1
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="academiaPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.bitsperu.academia.entidad.Colegio</class>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.password" value="nbuser"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/academia"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
</properties>
</persistence-unit>
</persistence>
【问题讨论】:
你的persistence.xml
文件的内容是什么?
你在调用 SessionFactory.getCurrentSession() 吗??
不,应该吗?请解释一下
【参考方案1】:
尝试在persist(T)之后调用flush(),在你的例子中:
colegio.setAlumnoList(attachedAlumnoList);
if (!em.contains(colegio))
// persist object - add to entity manager
em.persist(colegio);
// flush em - save to DB
em.flush();
【讨论】:
我可以列出但不能插入,你应该在maquisac.com/upao/2012-12-05下载我的项目,请检查,名称是学术界 您是否关闭了 EntityManager?以上是关于未知实体 JPA Netbeans的主要内容,如果未能解决你的问题,请参考以下文章