И снова новичок и hibernate
От: Someone88  
Дата: 24.09.08 21:30
Оценка:
Доброй ночи
Имею простенький класс

public class Product 
{
    private String id;
    private String name;
    private double price;
    private int amount;

    public Product(){};
    
    public String getId() 
    {
        return id;
    }
    public void setId(String s) 
    {
        id = s;
    }
    public void setName(String name) 
    {
        this.name = name;
    }
    public String getName() 
    {
        return name;
    }
    public void setPrice(double price) 
    {
        this.price = price;
    }
    public double getPrice() 
    {
        return price;
    }
    public void setAmount(int amount) 
    {
        this.amount = amount;
    }
    public int getAmount() 
    {
        return amount;
    }


Product.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.simpleHibernate.domain.Product" table="products">
    <id name="id" type="string" unsaved-value="null">
        <column name="id" sql-type="char(32)" not-null="true"/>
        <generator class="uuid.hex"/>
    </id>
    <property name="name">
        <column name="name" sql-type="char(255)" not-null="true"/>
    </property>
    <property name="price">
        <column name="price" sql-type="double" not-null="true"/>
    </property>
    <property name="amount">
        <column name="amount" sql-type="integer" not-null="true"/>
    </property>
    </class>
</hibernate-mapping>


и код который это использует


    public static void main(String[] args) 
    {
        Product p = new Product();
        p.setName( "ttest");
        p.setAmount(11);
        p.setPrice(1111);

        
        Configuration configuration = new Configuration().
        setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect").
        setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver").
        setProperty("hibernate.connection.url", "jdbc:mysql://localhost/hibernate").
        setProperty("hibernate.connection.username", "root").
        setProperty("hibernate.connection.password", "root").
        setProperty("hibernate.show_sql", "false").
        setProperty("hibernate.hbm2ddl.auto", "create");

        configuration.addClass(Product.class);
        
        Session session = null;
        
        try 
        {
            SessionFactory sessionFactory = configuration.buildSessionFactory();
            session = sessionFactory.openSession();

                        ......
        }catch ( HibernateException e)
        {
            System.out.println(e);
        }catch (Throwable ex) 
        {
            System.out.println(ex);
        } 
        finally 
        {
            if (session != null)
            {
                session.close();
            }
        }
    }


В итоге при вызове buildSessionFactory() вываливается эксепшн и выдается такой лог

25.09.2008 0:50:43 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.0
25.09.2008 0:50:44 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
25.09.2008 0:50:44 org.hibernate.cfg.Environment <clinit>
INFO: using CGLIB reflection optimizer
25.09.2008 0:50:44 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
25.09.2008 0:50:44 org.hibernate.cfg.Configuration addClass
INFO: Mapping resource: com/simpleHibernate/domain/Product.hbm.xml
25.09.2008 0:50:45 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: com.simpleHibernate.domain.Product -> products
25.09.2008 0:50:45 org.hibernate.cfg.Configuration secondPassCompile
INFO: processing extends queue
25.09.2008 0:50:45 org.hibernate.cfg.Configuration secondPassCompile
INFO: processing collection mappings
25.09.2008 0:50:45 org.hibernate.cfg.Configuration secondPassCompile
INFO: processing association property references
25.09.2008 0:50:45 org.hibernate.cfg.Configuration secondPassCompile
INFO: processing foreign key constraints
25.09.2008 0:50:46 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
25.09.2008 0:50:46 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 2
25.09.2008 0:50:46 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
25.09.2008 0:50:46 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
25.09.2008 0:50:46 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
25.09.2008 0:50:46 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
25.09.2008 0:50:46 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
25.09.2008 0:50:46 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
25.09.2008 0:50:46 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
25.09.2008 0:50:46 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
25.09.2008 0:50:46 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
25.09.2008 0:50:46 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/hibernate
25.09.2008 0:50:46 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root, password=****}
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
25.09.2008 0:50:50 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
25.09.2008 0:50:50 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.EhCacheProvider
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: enabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
25.09.2008 0:50:50 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V


Погуглил по поводу java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V. Посоветовали новые asm и cglib.
Скачал asm-3.0_RC1.jar и cglib-2.2.jar, а до этого были asm-all-3.1.jar и cglib-2.1_3.jar.
В итоге лог такой

25.09.2008 1:02:19 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.0
25.09.2008 1:02:19 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
25.09.2008 1:02:19 org.hibernate.cfg.Environment <clinit>
INFO: using CGLIB reflection optimizer
25.09.2008 1:02:19 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
25.09.2008 1:02:19 org.hibernate.cfg.Configuration addClass
INFO: Mapping resource: com/simpleHibernate/domain/Product.hbm.xml
25.09.2008 1:02:20 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: com.simpleHibernate.domain.Product -> products
25.09.2008 1:02:21 org.hibernate.cfg.Configuration secondPassCompile
INFO: processing extends queue
25.09.2008 1:02:21 org.hibernate.cfg.Configuration secondPassCompile
INFO: processing collection mappings
25.09.2008 1:02:21 org.hibernate.cfg.Configuration secondPassCompile
INFO: processing association property references
25.09.2008 1:02:21 org.hibernate.cfg.Configuration secondPassCompile
INFO: processing foreign key constraints
25.09.2008 1:02:21 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
25.09.2008 1:02:21 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 2
25.09.2008 1:02:21 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
25.09.2008 1:02:21 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
25.09.2008 1:02:21 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
25.09.2008 1:02:21 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
25.09.2008 1:02:21 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
25.09.2008 1:02:21 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
25.09.2008 1:02:21 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
25.09.2008 1:02:21 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
25.09.2008 1:02:21 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
25.09.2008 1:02:21 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/hibernate
25.09.2008 1:02:21 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root, password=****}
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
25.09.2008 1:02:22 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
25.09.2008 1:02:22 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.EhCacheProvider
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: enabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
25.09.2008 1:02:22 org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
25.09.2008 1:02:22 net.sf.ehcache.config.ConfigurationFactory parseConfiguration
WARNING: No configuration found. Configuring ehcache from ehcache-failsafe.xml  found in the classpath: jar:file:/D:/Work/Java/SimpleHibernate/lib/ehcache-1.5.0.jar!/ehcache-failsafe.xml
java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/BlockingQueue


Вообще не пойму в чем проблема. Уже несколько дней бьюсь не пойму
Благодарю заранее.
Re: И снова новичок и hibernate
От: 6lackbird Россия  
Дата: 24.09.08 22:02
Оценка: 2 (1)
Здравствуйте, Someone88, Вы писали:

S>В итоге при вызове buildSessionFactory() вываливается эксепшн и выдается такой лог


S>
...
S>java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
S>


S>Погуглил по поводу java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V. Посоветовали новые asm и cglib.

S>Скачал asm-3.0_RC1.jar и cglib-2.2.jar, а до этого были asm-all-3.1.jar и cglib-2.1_3.jar.
S>В итоге лог такой

Вообще то вот уже сколько версий в архиве с сайта лежат asm-1.5.3 и cglib-2.1.3, с которыми все замечательно работает


S>

S>25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory createCacheProvider
S>INFO: Cache provider: org.hibernate.cache.EhCacheProvider
S>25.09.2008 1:02:22 org.hibernate.cfg.SettingsFactory buildSettings
S>INFO: Second-level cache: enabled

S>25.09.2008 1:02:22 net.sf.ehcache.config.ConfigurationFactory parseConfiguration
S>WARNING: No configuration found. Configuring ehcache from ehcache-failsafe.xml  found in the classpath: jar:file:/D:/Work/Java/SimpleHibernate/lib/ehcache-1.5.0.jar!/ehcache-failsafe.xml
S>java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/BlockingQueue
S>


Где то включено кеширование с использованием EhCache

А вообще он попросил либу backport-util-concurrent.jar
... << RSDN@Home 1.2.0 alpha rev. 780>>
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.