0

エラーを知っていますか?

        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 05, 2012 7:48:39 PM org.hibernate.cfg.Environment 情報: hibernate.properties が見つかりません dic 05, 2012
7:48:39 PM org.hibernate.cfg.Environment buildBytecodeProvider 情報
: バイトコード プロバイダー名: cglib dic 05, 2012 7:48:39 PM
org.hibernate.cfg.Environment Información: using JDK 1.4
java.sql.Timestamp handling dic 05, 2012 7:48:39 PM
org.hibernate.ejb.Version Información: Hibernate
EntityManager 3.3.2.GA 2012 年 5 月 5 日午後 7 時 48 分 40 秒
org.hibernate.cfg.AnnotationConfiguration secondPassCompile 情報
: Hibernate Validator が見つかりません: dic 05, 2012
7:48:40 PMを無視 し
ます
dic 05, 2012 7:48:40 PM
org.hibernate.connection.DriverManagerConnectionProvider configure情報
: Hibernate 接続プール サイズ: 20 dic 05, 2012 7:48:40
PM org.hibernate.connection.DriverManagerConnectionProvider configure 情報: autocommit モード: true dic 05, 2012 7:48:40 PM
org.hibernate.connection.DriverManagerConnectionProvider configure情報
: ドライバーの使用: URL の com.mysql.jdbc.Driver:
jdbc:mysql://localhost:3306/academia dic 05, 2012 7:48:40 PM
org.hibernate.connection.DriverManagerConnectionProvider configure情報
: 接続プロパティ: {user=root, password=****,
autocommit=true, release_mode=auto} dic 05, 2012 7:48:40 PM
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方言情報: 方言の使用:
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 情報
: トランザクション終了時の自動セッション クローズ: 無効
dic 05, 2012 7:48:40 PM org.hibernate.cfg.SettingsFactory
buildSettings 情報: JDBC バッチ サイズ: 15 dic 05, 2012 7:48:40
PM org.hibernate.cfg.SettingsFactory buildSettings 情報:
バージョン対応の JDBC バッチ更新データ: 無効 dic 05, 2012 7:48:40 PM
org.hibernate.cfg.SettingsFactory buildSettings 情報:
スクロール可能な結果セット: 有効 dic 05, 2012 7:48:40 PM
org.hibernate.cfg.SettingsFactory buildSettings 情報: JDBC3
getGeneratedKeys (): 有効化された dic 05, 2012 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 05, 2012 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 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 05, 2012 7:48:40 PM
org.hibernate.cfg .SettingsFactory buildSettings 情報:
第 2 レベルのキャッシュ: 2012 年 2 月 5 日 7:48:40 PM
org.hibernate.cfg.SettingsFactory buildSettings 情報を有効にします: クエリ
キャッシュ: 2012 年 2 月 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 情報
: 最小限の puts 用にキャッシュを最適化します: 無効化された 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
情報: 統計: 無効化された dic 05 , 2012 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 Información: building
session factory dic 05, 2012 7:48:40 PM
org.hibernate.impl.SessionFactoryObjectFactory addInstance
Información: JNDI にファクトリをバインドしていません。JNDI 名が設定されていません
スレッド「メイン」で例外が発生しましたjava.lang.IllegalArgumentException:不明なエンティティ: org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223) の
com.bitsperu.academia.entidad.Colegio

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>
4

1 に答える 1

0

あなたの例では、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();
    }
于 2012-12-06T01:49:58.610 に答える