powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / SessionFactory и Session
8 сообщений из 8, страница 1 из 1
SessionFactory и Session
    #38960669
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в xml создаю бины

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close" p:driverClassName="org.h2.Driver" p:url="jdbc:h2:mem:sample"
		p:username="sa" p:password="" />

	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="packagesToScan">
			<value>
				com.epam.edu.jtc.entity
			</value>
		</property>
		<property name="hibernateProperties">
			<value>
				hibernate.dialect=org.hibernate.dialect.HSQLDialect
			</value>
		</property>
	</bean> 




Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
@Repository
public class AuthorizationService {
 
	@Autowired
    private     SessionFactory sessionFactory; 
 
	@Transactional 
	public   List checkAuthorization(LoginDTOForm userV) {
		 
		//SessionFactory sf = HibernateUtilService.getSessionFactory();
		Session session = sessionFactory.getCurrentSession();
		 
		List userList = session
				.createQuery(
						"from User u where u.login='" + userV.getLoginField()
								+ "' and u.password='"
								+ userV.getPasswordField() + "'").list();

		session.close();
	 
		return userList; 


здесь сессию не могу получить Session session = sessionFactory.getCurrentSession();

В чем проблема?
...
Рейтинг: 0 / 0
SessionFactory и Session
    #38960846
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldenhawk,

Какая собственно ошибка при получении?
может TransactionManager не настроен?

p.s.
За автор"from User u where u.login='" + userV.getLoginField() + "' and u.password='" + userV.getPasswordField() + "'" по рукам настучат.
...
Рейтинг: 0 / 0
SessionFactory и Session
    #38960915
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavel_nvgoldenhawk,

Какая собственно ошибка при получении?
может TransactionManager не настроен?

p.s.
За автор"from User u where u.login='" + userV.getLoginField() + "' and u.password='" + userV.getPasswordField() + "'" по рукам настучат.


Вот скрин ошибки.. Session session = sessionFactory.openSession(); строка 28
...
Рейтинг: 0 / 0
SessionFactory и Session
    #38960916
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavel_nvgoldenhawk,

Какая собственно ошибка при получении?
может TransactionManager не настроен?

p.s.
За автор"from User u where u.login='" + userV.getLoginField() + "' and u.password='" + userV.getPasswordField() + "'" по рукам настучат.


А как надо было написать запрос?
...
Рейтинг: 0 / 0
SessionFactory и Session
    #38961451
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз NPE в указанной строке, значит каким то образом
Код: java
1.
2.
@Autowired
private SessionFactory sessionFactory;


оказался не проиниченным. Как вы получаете AuthorizationService в LoginController?

Для запроса нужно использовать binding-пеменные, что то типа:
Код: java
1.
2.
3.
4.
Query query = session.createQuery("from User u where u.login=:1 and u.password=:2");
query.setParam("1", userV.getLoginField());
query.setParam("2", userV.getPasswordField());
List userList = query.list();




и session.close(); делать не нужно, если используете @Transactional
...
Рейтинг: 0 / 0
SessionFactory и Session
    #38961505
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldenhawkВот скрин ошибки.. Session session = sessionFactory.openSession(); строка 28

Если ты ЕПАМовский студент, то почему руководителя не спросишь?
...
Рейтинг: 0 / 0
SessionFactory и Session
    #38963267
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavel_nvРаз NPE в указанной строке, значит каким то образом
Код: java
1.
2.
@Autowired
private SessionFactory sessionFactory;


оказался не проиниченным. Как вы получаете AuthorizationService в LoginController?

Для запроса нужно использовать binding-пеменные, что то типа:
Код: java
1.
2.
3.
4.
Query query = session.createQuery("from User u where u.login=:1 and u.password=:2");
query.setParam("1", userV.getLoginField());
query.setParam("2", userV.getPasswordField());
List userList = query.list();




и session.close(); делать не нужно, если используете @Transactional

Вот так получаю AuthorizationService в LoginController

if ( new AuthorizationService().checkAuthorization(userV).size() != 0)
...
Рейтинг: 0 / 0
SessionFactory и Session
    #38963326
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldenhawk,

Если ты хочешь использовать возможности спринга, то и создавать сервис надо средствами спринга.
Получить его можно
Код: java
1.
2.
@Autowired
private AuthorizationService authorizationService;


Создает экземпляр объекта аннотация @Repository, если конечно аннотации включены. ну или через xml.
Вообще в интернете много информации по спрингу, в том числе и на русском языке
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / SessionFactory и Session
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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