MySQLSyntaxErrorException 没看出sql哪里错了

代码如下
String sql="select ads.provinceId as {ads.provinceId},st.name "
+ "as {st.name},st.streetName as{st.streetName},st.tel "
+ "as {st.tel}, "+ "ar.areaname as {ar.areaName}, tw.town "
+ "as {tw.town} from addres ads join street st on"
+ " ads.street=st.id join area ar on ar.Id=ads.areaid"+
"join town tw tw.id=ads.townid where {ads.id}=:id";
SQLQuery sqlQuery=session.createSQLQuery(sql);
sqlQuery.addEntity("ads", Addres.class);
sqlQuery.addEntity("st", Street.class);
sqlQuery.addEntity("ar", Area.class);
sqlQuery.addEntity("tw", Town.class);
sqlQuery.setInteger("id", id);
List list=sqlQuery.list();

createQuery与createSQLQuery两者区别是:

前者用的hql语句进行查询,后者可以用sql语句查询

" ads.street=st.id join area ar on ar.Id=ads.areaid"+
"join town tw tw.id=ads.townid where {ads.id}=:id";
加号连接的两个字符串之间缺少空格,导致sql语句出错