0

このクエリをHibernateクエリ言語で作成する方法

select * from preferred_space p, building b, floor f, space_type st, space s
    where p.user_id=11
    and p.space_id=s.id
    and s.building_id=b.id
    and s.floor_id=f.id
    and s.space_type_id=st.id 
    order by p.id;

このようにすると、エラーが表示されますか?

 String sql =    "from     PreferredSpace p, Space s, Building b, Floor f, SpaceType st " +
                 "where    p.userId = ? " +
                 "and      p.spaceId = s.id" +
                 "and      s.buildingId = b.id" +
                 "and      s.floorId = f.id" +
                 "and      s.spaceTypeId = st.id" +
                 "order by p.id";

エラー:

ERROR o.h.hql.internal.ast.ErrorCounter - line 1:242: unexpected token: s
16:18:17.569 [http-bio-8080-exec-24] ERROR o.h.hql.internal.ast.ErrorCounter - line 1:242: unexpected token: s
antlr.NoViableAltException: unexpected token: s

「s」で始まるすべての行で同じエラーが表示されます。また、「by」の場合。

4

1 に答える 1

2

スペースを追加する必要があります。

String sql = "from     PreferredSpace p, Space s, Building b, Floor f, SpaceType st " +
             "where    p.userId = ? " +
             "and      p.spaceId = s.id " +
             "and      s.buildingId = b.id " +
             "and      s.floorId = f.id " +
             "and      s.spaceTypeId = st.id " +
             "order by p.id";
于 2012-09-10T01:34:23.673 に答える