Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate 
V
    Опции темы
ice1
Дата 25.2.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.2.2009

Репутация: нет
Всего: нет




 ! 
powerOn
Модератор: Название темы должно отражать ее суть!


Помогите пожалуйста разобраться с hibernate.
Есть файл в котором вылетает ошибка
Код



Product p = new Product();
p.setName("www");
p.setAmount(Integer.parseInt("11"));
p.setPrice(Double.parseDouble("22"));
Configuration cfg = new Configuration().addClass(Product.class);  
SessionFactory sf = cfg.buildSessionFactory()
Session sess = sf.openSession();
Transaction t = sess.beginTransaction();
sess.save(p);
t.commit();
sess.close();


Ошибка вылетает в строке Configuration cfg = new Configuration().addClass(Product.class);  вот такая:
 org.hibernate.MappingException 
  class Product not found while looking for property: name

java.lang.ClassNotFoundException 
  Product

com.sun.rave.web.ui.appbase.ApplicationException 
  #{Page1.button1_action}: org.hibernate.InvalidMappingException: Could not parse mapping document from resource hib/Product.hbm.xml


Это код Product.java^
Код

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

public void Product(){}
public String getId() {
return id;
}
public void setId(String s) {
id = s;
}

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the price
     */
    public double getPrice() {
        return price;
    }

    /**
     * @param price the price to set
     */
    public void setPrice(double price) {
        this.price = price;
    }

    /**
     * @return the amount
     */
    public int getAmount() {
        return amount;
    }

    /**
     * @param amount the amount to set
     */
    public void setAmount(int amount) {
        this.amount = 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-2.0.dtd">
<hibernate-mapping>
<class name="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>



Это сообщение отредактировал(а) powerOn - 26.2.2009, 01:47
PM MAIL   Вверх
Tony
Дата 25.2.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Код

Configuration cfg = new Configuration().configure();
... sessionFactory = cfg.buildSessionFactory();


Попробуйте без .addClass(Product.class);  

P.S. Если не поможет то надо проверить конигурацию хибера(нахождение маппингов и hibernate conf)

Это сообщение отредактировал(а) Tony - 25.2.2009, 22:36


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
ice1
Дата 25.2.2009, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



Tony , спасибо, этой ошибки нет, но теперь выдает ошибку в той же строчке, но другую : hibernate.cfg.xml not found, хотя файл есть и лежит в той же папке, что и файл который вызывает этот метод, находится в той папке куда его автоматически поместил netbeans.
вот сам файл
Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
    <property name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
    <property name="hibernate.connection.url">jdbc:derby://localhost:3306/java-mysql</property>
    <property name="hibernate.connection.username">base</property>
    <property name="hibernate.connection.password">98765</property>
  </session-factory>
</hibernate-configuration>


Это сообщение отредактировал(а) ice1 - 25.2.2009, 23:13
PM MAIL   Вверх
Tony
Дата 25.2.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



hibernate.cfg.xml  должен лежать в под /src


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
ice1
Дата 26.2.2009, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



В той строке всё нормально, но теперь выдает ошибку в строке sess.save(p);  smile 
org.hibernate.MappingException 
  Unknown entity: hib.Product



Это сообщение отредактировал(а) ice1 - 26.2.2009, 08:50
PM MAIL   Вверх
v2v
Дата 26.2.2009, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Product лежит в дефолтном пакете?
если нет то в мапинге это должно быть отражено : 
Код

<hibernate-mapping package="pkg">




--------------------
PM   Вверх
ice1
Дата 26.2.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



Если добваляю вот так:
Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping package="hib">

<class name="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>




то выдает ту же ошибку, а если помещаю в дефолтную папку класс product, то пишет что не может найти такой класс ещё в самом начале в этой строке Product p = new Product();
PM MAIL   Вверх
Tony
Дата 26.2.2009, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Кaро4е так:
src/
  +
  + ---- hibernate.cfg.xml  
  +
  + model
        +
        + ------- Product.java
        + ------- Product.hbm.xml

Соответсевенно в hibernate.cfg.xml 
Код

<mapping resource="model/Product.hbm.xml"/>



--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
ice1
Дата 26.2.2009, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



Огромное спасибо, получилось! 

Хотя опять вылетела ошибка 

java.sql.BatchUpdateException 
  Data truncation: Out of range value adjusted for column 'name' at row 1

Но главное с базой данных уже связывается.

Теперь остается найти что не так с бд.

Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.3076 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.