package angel.domain;public class Account {
private Long oid;
private String actNo;
private double bal;
private User owner; public User getOwner() {
return owner;
} public void setOwner(User owner) {
this.owner = owner;
} public Account() {
super();
} public Account(String actNo, double bal) {
super();
this.actNo = actNo;
this.bal = bal;
}
    public void withdraw(double amount){
     if(bal-amount>=0){
     bal = bal - amount;
     }
    }
    public void deposite(double amount){
     bal = bal + amount;    
    }
public Long getOid() {
return oid;
} public void setOid(Long oid) {
this.oid = oid;
} public String getActNo() {
return actNo;
} public void setActNo(String actNo) {
this.actNo = actNo;
} public double getBal() {
return bal;
} public void setBal(double bal) {
this.bal = bal;
} @Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((actNo == null) ? 0 : actNo.hashCode());
return result;
} @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Account other = (Account) obj;
if (actNo == null) {
if (other.actNo != null)
return false;
} else if (!actNo.equals(other.actNo))
return false;
return true;
}
}Account
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="angel.domain">
    <class name="Account" table="t_acct_one2many">
       <id name="oid" column="OID">
          <!--<generator class="seqhilo" />-->
          <generator class="native" />
       </id>
       <property name="actNo"
                 column="ACTNO"
                 not-null="true"
                 unique="true" />
       <property name="bal"
                 column="BALANCE"
                 not-null="true" />
                 
       <many-to-one name="owner"
                    column="FID" />
                 
                 
                 
                 
                 
                 
    </class>
</hibernate-mapping>
package angel.domain;import java.util.HashSet;
import java.util.Set;public class User {
private Long oid;
private String uid;
private String name;
    private Set accts = new HashSet();

public void addAcct(Account acct){
  accts.add(acct);
  acct.setOwner(this);
}

public Set getAccts() {
return accts;
} public void setAccts(Set accts) {
this.accts = accts;
} public User() {
super();
} public User(String uid, String name) {
super();
this.uid = uid;
this.name = name;
} public Long getOid() {
return oid;
} public void setOid(Long oid) {
this.oid = oid;
} public String getUid() {
return uid;
} public void setUid(String uid) {
this.uid = uid;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}User
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  <hibernate-mapping package="angel.domain">
     <class name="User" table="t_user_one2many">
        <id name="oid" column="OID"><!--
           <generator class="seqhilo" />
        -->
         <generator class="native" />
        </id>
        <property name="uid"
                  column="USER_ID"
                  not-null="true"
                  unique="true" />
        <property name="name"
                  column="USER_NAME"
                  not-null="true" />
                  
        <set name="accts" inverse="false" cascade="all" lazy="false" fetch="select">
           <key column="FID" />
           <one-to-many class="Account" />
        </set>          
                 
     </class>
  </hibernate-mapping>HibernateTemplate ht;
public void init(){
ht=this.getHibernateTemplate();
}
public List<User> findAllUser() {
// TODO Auto-generated method stub
String hql="select u.name from User user left join Account acc on user.oid=acc.fid where acc.actNo = ''";
return ht.find(hql);
          }这个findAllUser方法调用有错
log
ERROR org.hibernate.hql.PARSER - line 1:63: unexpected token: on
Exception in thread "main" org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: on near line 1, column 63 [select user.name from angel.domain.User user join Account acc on user.oid=acc.fid]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 1, column 63 [select user.name from angel.domain.User user join Account acc on user.oid=acc.fid]
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:642)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:917)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:909)
at angel.dao.UserDaoImpl.findAllUser(UserDaoImpl.java:23)
at angel.service.UserServiceImpl.QueryAll(UserServiceImpl.java:21)
at angel.test.Test.main(Test.java:59)请高手帮我解决下????小弟只剩下20分了!!请大家多帮忙