mysql говорит Unknown column 'testlogin' in 'where clause'
От:
Аноним
Дата:
12.08.10 16:33
Оценка:
когда пытаюсь сделать User user = (User)( session.createQuery("from User where Login ="+login).uniqueResult()); login — это строка содержащая "testlogin" получаю вот такую шляпу:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'testlogin' in 'where clause'
хотя в базе естественно есть столбец login
и в User.hbm.xml прописаны все проперти, и в hibernate.cfg.xml прописаны ресурсы для (User в том числе)
Не пинайте курить поиск — я там был) единственное что нашел близкое к моей ситуации это сообщение от 2005года где дяденька утверждает что это баг mysql — не верю!!! Может у кого такая проблема была? весь летний день сегодня на это убил((((
Видимо вы одинарные ковычки не добавляете в запросе вокруг строки 'testlogin'.
Re[2]: mysql говорит Unknown column 'testlogin' in 'where cl
От:
Аноним
Дата:
12.08.10 16:58
Оценка:
Здравствуйте, MozgC, Вы писали:
MC>Видимо вы одинарные ковычки не добавляете в запросе вокруг строки 'testlogin'.
Понимаете в чем дело, я на java пишу, и если в метод буду передавать 'testlogin' вместо "testlogin" то буду получать ошибку : too many characters in character literal! Видимо что-то другое!
Re: mysql говорит Unknown column 'testlogin' in 'where claus
А>когда пытаюсь сделать User user = (User)( session.createQuery("from User where Login ="+login).uniqueResult()); login — это строка содержащая "testlogin" получаю вот такую шляпу:
Веб приложение пишите? УРЛ не дадите?
Re[3]: mysql говорит Unknown column 'testlogin' in 'where cl
От:
Аноним
Дата:
12.08.10 17:45
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, MozgC, Вы писали:
MC>>Видимо вы одинарные ковычки не добавляете в запросе вокруг строки 'testlogin'.
А>Понимаете в чем дело, я на java пишу, и если в метод буду передавать 'testlogin' вместо "testlogin" то буду получать ошибку : too many characters in character literal! Видимо что-то другое!
а запрос так и дожен быть — "from User where Login = 'testLogin'", без "select *" ?
Проверял ли ты свой запрос на базе данных? Для начала проверяй что ты отправляешь на сервер и что получишь в ответ.
Re[4]: mysql говорит Unknown column 'testlogin' in 'where cl
От:
Аноним
Дата:
12.08.10 17:58
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, 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);
}
Re[5]: mysql говорит Unknown column 'testlogin' in 'where cl
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Аноним, Вы писали:
А>>>Здравствуйте, 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 содержит,
вполне возможно что еще нужно это положить в какие-нибудь кавычки.
Re[2]: mysql говорит Unknown column 'testlogin' in 'where cl
От:
Аноним
Дата:
12.08.10 18:15
Оценка:
Здравствуйте, avpavlov, Вы писали:
А>>когда пытаюсь сделать User user = (User)( session.createQuery("from User where Login ="+login).uniqueResult()); login — это строка содержащая "testlogin" получаю вот такую шляпу:
A>Веб приложение пишите? УРЛ не дадите?
У меня нет внешнего ip поэтому я не покупал домен — развернул у себя в домашней сети
Re[3]: mysql говорит Unknown column 'testlogin' in 'where cl
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, avpavlov, Вы писали:
А>>>когда пытаюсь сделать User user = (User)( session.createQuery("from User where Login ="+login).uniqueResult()); login — это строка содержащая "testlogin" получаю вот такую шляпу:
A>>Веб приложение пишите? УРЛ не дадите?
А>У меня нет внешнего ip поэтому я не покупал домен — развернул у себя в домашней сети
Жалко, можно было бы SQL injection поизучать.
Re: mysql говорит Unknown column 'testlogin' in 'where claus
С вопросами по Hibernate обычно в java ходят
А>когда пытаюсь сделать User user = (User)( session.createQuery("from User where Login ="+login).uniqueResult()); login — это строка содержащая "testlogin" получаю вот такую шляпу:
А>Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'testlogin' in 'where clause'
Переписать запрос вот таким образом
User user = (User)session.createQuery("from User where login = :login")
.setString("login", login)
.uniqueResult();
А>хотя в базе естественно есть столбец login
А>и в User.hbm.xml прописаны все проперти, и в hibernate.cfg.xml прописаны ресурсы для (User в том числе)
А>Не пинайте курить поиск — я там был) единственное что нашел близкое к моей ситуации это сообщение от 2005года где дяденька утверждает что это баг mysql — не верю!!! Может у кого такая проблема была? весь летний день сегодня на это убил((((
лучше б ты его убил на изучение мануала, все равно без него никуда
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
Re[2]: mysql говорит Unknown column 'testlogin' in 'where cl
От:
Аноним
Дата:
17.08.10 16:58
Оценка:
Здравствуйте, 6lackbird, Вы писали:
6>Здравствуйте, <Аноним>, Вы писали:
6>С вопросами по Hibernate обычно в java ходят
А>>когда пытаюсь сделать User user = (User)( session.createQuery("from User where Login ="+login).uniqueResult()); login — это строка содержащая "testlogin" получаю вот такую шляпу:
А>>Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'testlogin' in 'where clause'
6>Переписать запрос вот таким образом
6>
6>User user = (User)session.createQuery("from User where login = :login")
6> .setString("login", login)
6> .uniqueResult();
6>
А>>хотя в базе естественно есть столбец login
А>>и в User.hbm.xml прописаны все проперти, и в hibernate.cfg.xml прописаны ресурсы для (User в том числе)
А>>Не пинайте курить поиск — я там был) единственное что нашел близкое к моей ситуации это сообщение от 2005года где дяденька утверждает что это баг mysql — не верю!!! Может у кого такая проблема была? весь летний день сегодня на это убил((((
6>лучше б ты его убил на изучение мануала, все равно без него никуда
пасибо большое, но ошибка была не в этом, .setstring() -я так полагаю это сугубо для самошо гибера — у меня проблема была в нелинивой загрузке, так как не инициилизтровались дтошки — а мануал учу) даже книга появилась Jeff Linwood, Dave Minter — Beginning Hibernate, 2nd Edition 2010 )