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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Could not find a getter 
:(
    Опции темы
Matritsa
Дата 22.9.2010, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



доброго времени суток.
пытаюсь использовать hibernate - создаю классы, xml - но при компиляции возникает ошибки вида

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Initial SessionFactory creation failed.org.hibernate.PropertyNotFoundException: Could not find a getter for studgroups in class test4.Group
Exception in thread "main" java.lang.ExceptionInInitializerError
        at util.HibernateUtil.<clinit>(HibernateUtil.java:21)
        at test4.Main.main(Main.java:116)
Caused by: org.hibernate.PropertyNotFoundException: Could not find a getter for studgroups in class test4.Group
        at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
        at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
        at org.hibernate.mapping.Property.getGetter(Property.java:272)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:247)
        at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:125)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
        at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
        at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
        at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
        at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
        at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
        at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
        at util.HibernateUtil.<clinit>(HibernateUtil.java:18)
        ... 1 more
Java Result: 1
есть сущности
•    Студент
◦    Имя
◦    Фамилия
◦    Отчество
◦    Дата рождения
◦    Группа
•    Группа
◦    Номер
◦    Название факультета
создаю классы для них:
Код


public class Student {
  private Long id;
  private String firstname;
  private String lastname;
  private String otch;
  private Date dateofbirth;
  private Long groupid;
  
 // private Set groups = new HashSet();
  public Student(){}
  public void setId(Long id) {
    this.id = id;
  }
   public void setFirstname(String firstname) {
    this.firstname = firstname;
  }
   public void setLastname(String lastName) {
    this.lastname = lastname;
  }
   public void setOtch(String otch) {
    this.otch = otch;
  }
   public void setDateofbirth(Date dateofbirth) {
    this.dateofbirth = dateofbirth;
  }
 /*  public void setgroupid(Long groupid) {
    this.groupid = groupid;
  }*/
/*  public void setgroups(Set groups) {
    this.groups = groups;
  }*/
   public Long getId() {
    return id;
  }
   public String getFirstname() {
    return firstname;
  }
   public String getLastname() {
    return lastname;
  }
   public String getOtch() {
    return otch;
  }
   public  Date getDateofbirth() {
    return dateofbirth;
  }
   public Long getGroupid() {
    return groupid;
  }
  /* public Set getGroups() {
    return groups;
  }*/
}



Код

public class Group {
    private Long groupid;
    private String faculty;
   // private Set students = new HashSet();
    public Group(){}
  public void setGroupid(Long groupid) {
        this.groupid=groupid;
    }
   public Long getGroupid() {
    return groupid;
  }
   public void setFaculty(String faculty) {
    this.faculty = faculty;
  }
  /* public void setstudents(Set students) {
    this.students = students;
  }*/
   
   public String getFaculty() {
    return faculty;
  }
  /* public Set getstudents() {
    return students;
  }*/

      

}


xmls:
Stud.hbm.xml
Код

<hibernate-mapping>
<class name="test4.Student" table="students">
    <id column="id" name="id" type="java.lang.Long">
      <generator class="increment"/>
    </id>
    <property column="FirstName" name="firstName" type="java.lang.String"/>
    <property column="LastName" name="lastName" type="java.lang.String"/>
    <property column="Otch" name="otch" type="java.lang.String"/>
    <property column="DateofBirth" name="dateofBirth" type="java.util.Date"/>
    <many-to-one name="group" column="groupid" class="test4.Group"/>
    
  </class>
</hibernate-mapping>


Studgroups.hmb.xml
Код

<hibernate-mapping>
<class name="test4.Group" table="studgroups">
    <id column="groupid" name="groupid" type="java.lang.Long">
      <generator class="increment"/>
    </id>
    <property column="faculty" name="faculty" type="java.lang.String"/>
    
    <set name="studgroups" table="studgroups" lazy="false">
      <key column="id"/>
      <one-to-many class="test4.Student"/>
    </set>

  </class>
</hibernate-mapping>

и конфигурационная xml
Код

<hibernate-configuration>
<session-factory>
    <property name="connection.url">jdbc:mysql://localhost:3306/test</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.username">root</property>
    <property name="connection.password"></property>
    <property name="connection.pool_size">1</property>
    <property name="current_session_context_class">thread</property>
    <property name="show_sql">true</property>
    <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

    <mapping resource="test4/stud.hbm.xml"/>
    <mapping resource="test4/studgroups.hbm.xml"/>
    
  </session-factory>
</hibernate-configuration>



очень надеюсь на вашу помощь. по какой причине возникает эксепшн?
PM MAIL   Вверх
kkorsakoff
Дата 22.9.2010, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

<set name="studgroups" table="studgroups" lazy="false">
      <key column="id"/>
      <one-to-many class="test4.Student"/>
    </set>


А где собственно метод Set getStudgroups() в классе test4.Group? Сет в маппинге объявили, а в классе поле с геттером и сеттером не определили.
Ошибка в данном случае достаточно говорящая.
PM MAIL WWW ICQ   Вверх
Matritsa
Дата 22.9.2010, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо большое) исправлено.
но теперь возникла другая.
пытаюсь извлечь данные из базы, прописан в методе Main следующий код:
Код

 Collection groups = Factory.getInstance().getgroupdao().getAllGroups();
    Iterator iterator = groups.iterator();
    while (iterator.hasNext()) {
      Group grp = (Group) iterator.next();
      System.out.println("группа : " + grp.getGroupid());
      Collection students = Factory.getInstance().getstuddao().getStudentsByGroup(grp);
      Iterator iterator2 = students.iterator();
      while (iterator2.hasNext()) {
        Student std = (Student) iterator2.next();
        System.out.println("студент " + std.getLastname());

      }
    }

при этом возникает ошибка
IllegalArgumentException occured while calling setter of test4.Group.groupid
в консоле:
Hibernate: select this_.groupid as groupid1_0_, this_.faculty as faculty1_0_ from studgroups this_

заранее благодарю за помощь.

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

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

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


 




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


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

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