powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / хибер КРУД
9 сообщений из 9, страница 1 из 1
хибер КРУД
    #39695395
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте всем!
знаю в гугле есть ответ, но изза технических причин на работе не могу запросить у гугла но и не только... ) и то еле как сюда смог зайти )

и так собственно вопрос что не так делаю?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
public class TblDaoImpl implements TblDao {
    Session session = HibernateUtil.getSessionFactory().openSession();

    @Override
    public boolean save(Tbl5065 tbl5065) {
        try {
            if (!session.getTransaction().isActive())
                session.beginTransaction();
            session.save(tbl5065);
            session.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }

    @Override
    public List<Tbl5065> findLast24HDatas() {
        List<Tbl5065> list = new ArrayList<>();
        list = session.createQuery("select t from Tbl5065 t").getResultList();
        return list;
    }
}



и первом обращении получаю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
12:52:51,433 INFO  [org.hibernate.hql.internal.QueryTranslatorFactoryInitiator] (pool-20-thread-1) HHH000397: Using ASTQueryTranslatorFactory
12:52:51,606 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-15-thread-1) SQL Error: 0, SQLState: null
12:52:51,606 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-15-thread-1) IJ031050: The result set is closed
12:52:51,609 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-16-thread-1) SQL Error: 0, SQLState: null
12:52:51,609 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-16-thread-1) IJ031050: The result set is closed
12:52:51,609 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-21-thread-1) SQL Error: 0, SQLState: null
12:52:51,609 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-21-thread-1) IJ031050: The result set is closed

а дальше уже ещё хуже...
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
12:55:14,651 ERROR [org.hibernate.internal.ExceptionMapperStandardImpl] (pool-39-thread-1) HHH000346: Error during managed flush [null]
12:55:14,655 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-41-thread-1) SQL Error: 0, SQLState: null
12:55:14,655 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-41-thread-1) IJ031050: The result set is closed
12:55:14,655 ERROR [stderr] (pool-39-thread-1) java.lang.NullPointerException
12:55:14,655 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-45-thread-1) SQL Error: 0, SQLState: null
12:55:14,656 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:147)
12:55:14,656 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-42-thread-1) SQL Error: 0, SQLState: null
12:55:14,656 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-42-thread-1) IJ031050: The result set is closed
12:55:14,656 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:83)
12:55:14,656 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-45-thread-1) IJ031050: The result set is closed
12:55:14,656 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:38)
12:55:14,656 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1451)
12:55:14,656 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-44-thread-1) SQL Error: 0, SQLState: null
12:55:14,656 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (pool-44-thread-1) IJ031050: The result set is closed
12:55:14,656 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:508)
12:55:14,657 INFO  [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (pool-42-thread-1) IJ000302: Unregistered handle that was not registered: org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@705e9615 for managed connection: org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@46f7260
12:55:14,657 INFO  [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (pool-44-thread-1) IJ000302: Unregistered handle that was not registered: org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@705e9615 for managed connection: org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@46f7260
12:55:14,657 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3274)
12:55:14,657 INFO  [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (pool-43-thread-1) IJ000302: Unregistered handle that was not registered: org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@705e9615 for managed connection: org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@46f7260
12:55:14,658 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2471)
12:55:14,658 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:473)
12:55:14,658 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:178)
12:55:14,658 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:39)
12:55:14,658 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:271)
12:55:14,659 ERROR [stderr] (pool-39-thread-1) 	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:98)
12:55:14,659 ERROR [stderr] (pool-39-thread-1) 	at ivc.uty.model.dao.TblDaoImpl.save(TblDaoImpl.java:21)
12:55:14,659 ERROR [stderr] (pool-39-thread-1) 	at ivc.uty.utils.asoup.ReadService.readFile(ReadService.java:108)
12:55:14,659 ERROR [stderr] (pool-39-thread-1) 	at ivc.uty.utils.asoup.ReadService.access$000(ReadService.java:23)
12:55:14,657 WARN  [org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory] (pool-45-thread-1) IJ030020: Detected queued threads during cleanup from: pool-45-thread-1: java.lang.Throwable: Detected queued threads during cleanup from: pool-45-thread-1
	at java.lang.Thread.getStackTrace(Thread.java:1559)
	at org.jboss.jca.adapters.jdbc.SecurityActions.getStackTrace(SecurityActions.java:81)
	at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.cleanup(BaseWrapperManagedConnection.java:298)
	at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.returnConnection(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:666)
	at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.returnConnection(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:611)
	at org.jboss.jca.core.connectionmanager.pool.AbstractPool.returnConnection(AbstractPool.java:847)
	at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.returnManagedConnection(AbstractConnectionManager.java:725)
	at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.connectionClosed(TxConnectionListener.java:664)
	at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.returnHandle(BaseWrapperManagedConnection.java:596)
	at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.closeHandle(BaseWrapperManagedConnection.java:541)
	at org.jboss.jca.adapters.jdbc.WrappedConnection.returnConnection(WrappedConnection.java:298)
	at org.jboss.jca.adapters.jdbc.WrappedConnection.close(WrappedConnection.java:256)
	at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127)
	at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:46)
	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:196)
	at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.afterTransaction(LogicalConnectionManagedImpl.java:162)
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.afterTransaction(JdbcCoordinatorImpl.java:288)
	at org.hibernate.internal.SessionImpl.afterOperation(SessionImpl.java:572)
	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1510)
	at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1534)
	at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1502)
	at org.hibernate.query.Query.getResultList(Query.java:146)
	at ivc.uty.model.dao.TblDaoImpl.findLast24HDatas(TblDaoImpl.java:34)
	at ivc.uty.utils.asoup.ReadService.readFile(ReadService.java:123)
	at ivc.uty.utils.asoup.ReadService.access$000(ReadService.java:23)
	at ivc.uty.utils.asoup.ReadService$1.run(ReadService.java:61)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
...
Рейтинг: 0 / 0
хибер КРУД
    #39695411
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас не правильный scope объекта session. Вы не разобрались что это и как с ним работать. Область видимости Hibernate Session/EntityManager это одна бизнес-транзакция. У вас же TblDaoImpl, скорее всего, Singleton в связи с чем session тоже - singleton который шариться глобально между всеми потоками приложения.
Сессию нужно создавать в начале бизнес-транзакции и закрывать по окончании. Смотрите паттерн Unit of Work. Конечно, возможны исключения. Но в простейшем случае сессия и HTTP запрос-ответ имеет один цикл жизни. Либо у сессии чуток поменьше.

Вы по какой документации изучаете если у вас доступа-то нет?
...
Рейтинг: 0 / 0
хибер КРУД
    #39695413
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
Что за select при работе с ОРМ?
Зачем?
...
Рейтинг: 0 / 0
хибер КРУД
    #39695458
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

https://devcolibri.com/как-работать-с-mysql-в-java-hibernate-xml-mapping/
отсюда по немногу, и ещё какой источник откроется оттуда,
когда говорил про гугла и т.д. не знаю что у нас сетевики делают но видима проблема с прокси, либо тупо не открывается либо через несколько раз Ф5 открывает...


Petro123, да я почему то в любом раскладе получаю ошибку даже Нитивном и list = session.createQuery("from Tbl5065").list();
...
Рейтинг: 0 / 0
хибер КРУД
    #39695494
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
Ну дак делай нормальный пример без select с сессией открытой на get запрос и сразу в нем же закрытой.
В логи выложи открытие и закрытие.
...
Рейтинг: 0 / 0
хибер КРУД
    #39695514
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

проблемы пока частично решились если на методе открыть и после операций закрыть сессию...

на сколько это правильно?
...
Рейтинг: 0 / 0
хибер КРУД
    #39695518
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарPetro123,

проблемы пока частично решились если на методе открыть и после операций закрыть сессию...

на сколько это правильно?
Термин "транзакция" вам ни о чем не говорит? Смысл что-то объяснять если вы игнорируете, просто потому что незнакомые термины увидели? Открывать нужно в начале "транзакции" и закрывать в конце. Если у вас в этом методе вся транзакция, то нормально. А если у вас на транзакцию десяток таких методов и у каждого свои сессии, то толку будет мало.
...
Рейтинг: 0 / 0
хибер КРУД
    #39695528
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

говорит говорит...
вот счас наткнулся ещё на одну вещь... у меня почти одновременно 8 (хотя количество зависит от количество поступивших файлов) потоков запрашивают... это не должно влиять?
...
Рейтинг: 0 / 0
хибер КРУД
    #39695550
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарBlazkowicz,

говорит говорит...
вот счас наткнулся ещё на одну вещь... у меня почти одновременно 8 (хотя количество зависит от количество поступивших файлов) потоков запрашивают... это не должно влиять?глубже разбирайся.
Сколько времени в логах get запрос?
Кто запрашивает?
Почему потоки? Может сессию свою каждом потоке?
ЗЫ. В логах id потока выводи и контекст.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / хибер КРУД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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