powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate, ошибка при отображении данных из базы
2 сообщений из 2, страница 1 из 1
Hibernate, ошибка при отображении данных из базы
    #34889773
kruskod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.
Столкнулся со следующей проблемой, в течение долгого периода времени уже не получается разрешить.
Использую Netbeans. Классы entity beans сгенерировал автоматически.

Вот конфиги:
persistence.xml -
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<persistence 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"
             version="1.0">
  <persistence-unit name="getstatuscount">
    <properties>
      <property name="hibernate.ejb.cfgfile" value="/hibernate.cfg.xml"/>
    </properties>
  </persistence-unit>
</persistence>

hibernate.cfg.xml -
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<?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.connection.driver_class">      
     oracle.jdbc.driver.OracleDriver       
    </property>
    <property name="hibernate.connection.password">
      bill
    </property>
    <property name="hibernate.connection.url">
      jdbc:oracle:thin:@core.4net.ru: 1521 :FNET
    </property>
    <property name="hibernate.connection.username">
      bill
    </property>
    <property name="hibernate.dialect">
      org.hibernate.dialect.Oracle9Dialect        
    </property>
    <property name="current_session_context_class">thread</property>
    <property name="hibernate.hbm2ddl.auto">validate</property>
    <!--mapping  class ="com.berdaflex.contacts.model.Contact" /-->   
</session-factory>
</hibernate-configuration>
С соединением собственно говоря, проблем нет.

Проблемы возникают, когда пытаюсь отобразить класс из базы
Делаю это следующим образом:
Код: plaintext
FbClients cClient=(FbClients)EJB3Util.getEntityManager().createNamedQuery("FbClients.findById").setParameter("id", Long .valueOf(idStr)) .getSingleResult();

Вылетает следующий Exception:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
java.lang.ArithmeticException: Rounding necessary
        at java.math.BigDecimal.divide(BigDecimal.java: 1346 )
        at java.math.BigDecimal.setScale(BigDecimal.java: 2308 )
        at org.hibernate.type.BigIntegerType.get(BigIntegerType.java: 35 )
        at org.hibernate.type.NullableType.nullSafeGet(NullableType.java: 163 )
        at org.hibernate.type.NullableType.nullSafeGet(NullableType.java: 154 )
        at org.hibernate.type.AbstractType.hydrate(AbstractType.java: 81 )
        at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java: 2096 )
        at org.hibernate.loader.Loader.loadFromResultSet(Loader.java: 1380 )
        at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java: 1308 )
        at org.hibernate.loader.Loader.getRow(Loader.java: 1206 )
        at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java: 580 )
        at org.hibernate.loader.Loader.doQuery(Loader.java: 701 )
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java: 236 )
        at org.hibernate.loader.Loader.doList(Loader.java: 2220 )
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java: 2104 )
        at org.hibernate.loader.Loader.list(Loader.java: 2099 )

В дебаге выясняется, что исключение возникает в пустом конструкторе FbClients.
ни в один геттер\сеттер не заходит.
Id в табличках хранятся в Decimal, разумный Reverse engineering сделал в классах id типа BigDecimal.
Как я понял, Hibernate не может отобразить данные из таблиц в класс (просит округление).
Сразу оговорюсь, чтобы не было лишних вопросов - метод divide нигде не использую.

Подскажите, пожалуйста выход
...
Рейтинг: 0 / 0
Hibernate, ошибка при отображении данных из базы
    #34896288
kruskod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема разрешилась поочередным пересмотром всех классов и изменением типов их свойств.

В чем преимущество Hibernate против EJB3?
можете выложить пример 2 классов для работы с двумя таблицами 1:n для ejb3
и класс, в котором все эти данные будут получаться из отображенных классов, данные в которых загружаются из таблиц?
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate, ошибка при отображении данных из базы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]