Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Аноним, Вы писали:
А>>>Здравствуйте, MozgC, Вы писали:
MC>>>>Видимо вы одинарные ковычки не добавляете в запросе вокруг строки 'testlogin'.
А>>>Понимаете в чем дело, я на java пишу, и если в метод буду передавать 'testlogin' вместо "testlogin" то буду получать ошибку : too many characters in character literal! Видимо что-то другое!
А>>а запрос так и дожен быть — "from User where Login = 'testLogin'", без "select *" ? А>>Проверял ли ты свой запрос на базе данных? Для начала проверяй что ты отправляешь на сервер и что получишь в ответ.
А>Да именно так это hql язык запросов, так и выглядит запрос. А>Я проверил все ок с базой! А>вот такой метод работает : А>public List<UserDTO> GetUsers(){ А> Session session = HibernateUtil.getSessionFactory().getCurrentSession(); А> session.beginTransaction(); А> List<User> users = new ArrayList<User>(session.createQuery("from User").list()); А> session.getTransaction().commit(); А> List<UserDTO> u = new ArrayList<UserDTO>(users.size()); А> for(User us: users){ А> u.add(createUserDTO(us)); А> } А> return u; А> } А>а вот такой нет
А>public UserDTO GetUser(String login) { А> Session session = HibernateUtil.getSessionFactory().getCurrentSession(); А> session.beginTransaction();
А> User user = (User)( session.createQuery("from User where Login ="+login).uniqueResult()); А> session.getTransaction().commit(); А> return createUserDTO(user); А> }
Прошлое сообщение было мое.
Я имел ввиду сформируй сначала запрос в переменной и посмотри что получится.
Типа — string query = "from User where Login = " + login;
и подставь туда где создаешь user'a, а заодно и посмотришь что query содержит,
вполне возможно что еще нужно это положить в какие-нибудь кавычки.