Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / хибер КРУД / 9 сообщений из 9, страница 1 из 1
30.08.2018, 10:57
    #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
30.08.2018, 11:30
    #39695411
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хибер КРУД
У вас не правильный scope объекта session. Вы не разобрались что это и как с ним работать. Область видимости Hibernate Session/EntityManager это одна бизнес-транзакция. У вас же TblDaoImpl, скорее всего, Singleton в связи с чем session тоже - singleton который шариться глобально между всеми потоками приложения.
Сессию нужно создавать в начале бизнес-транзакции и закрывать по окончании. Смотрите паттерн Unit of Work. Конечно, возможны исключения. Но в простейшем случае сессия и HTTP запрос-ответ имеет один цикл жизни. Либо у сессии чуток поменьше.

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

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


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

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

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

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

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

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

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


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