Пните в ухо
От: Аноним  
Дата: 18.08.10 14:56
Оценка:
Здравствуйте!

Проблема: Есть класс/бин User в нем 5 стринговых полей, айдишник, и Set<MyBean>, пустой конструктор и все гет сет.

вот маппинг
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <class name="gwt.client.Entity.User" table="User">
    <id column="User_id" name="User_id" type="int">
      <generator class="increment"/>
    </id>
    <property column="Name" name="Name" type="java.lang.String"/>
      <property column="SurName" name="SurName" type="java.lang.String"/>
      <property column="SecondName" name="SecondName" type="java.lang.String"/>
    <property column="Pass" name="Pass" type="java.lang.String"/>
    <property column="Login" name="Login" type="java.lang.String"/>


      <set name="albums" table="user_album" lazy="false" cascade="all" >
          <key column="user_id"/>
          <many-to-many column="album_id"  class="gwt.client.Entity.Album"/>
        </set>
    
      

  </class>
</hibernate-mapping>


в hibernate конфиге ресурс указан

выдераю по логину так


i = (Integer) session.createSQLQuery("SELECT User_id FROM User WHERE Login = :str").uniqueResult();


получаю

Caused by: org.hibernate.QueryException: Not all named parameters have been set: [str] [SELECT User_id FROM User WHERE Login = :str]
какие еще сеты? все есть! не к str же — передается в кач параметра

если так

i = (Integer) session.createSQLQuery("SELECT User_id FROM User WHERE Login = :str").setString("Login",str).uniqueResult();


то

Parameter Login does not exist as a named parameter in [SELECT User_id FROM User WHERE Login = :str]


если так

List<Integer> res = new ArrayList<Integer>(session.createQuery("select u.User_id from User as u where u.Login = :str ").list());


то

Caused by: org.hibernate.QueryException: Not all named parameters have been set: [str] [select u.User_id from User as u where u.Login = :str ]

если так

 List<User> us = new ArrayList<User>(session.createQuery("from User where Login = "+ str).list());



то
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'newLogin' in 'where clause'

и наконец


List<User> us = new ArrayList<User>(session.createQuery("from User where Login = :str").list());


то

Caused by: org.hibernate.QueryException: Not all named parameters have been set: [str] [from User where Login = :str]

Есть ли знатоки этой штуки??? Я запутался!!!
hibernate gwt
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.