2017-04-20 35 views
1

我想其序列後,從數據庫中檢索XML映射,這是從控制器片段終點org.hibernate.hql.internal.ast.QuerySyntaxException:數據沒有[從數據]

@RequestMapping(value = "/getAll", method = RequestMethod.GET, headers = "Accept=application/xml") 
    @ResponseBody 
    public List<Data> getAll() { 

     List<Data> listOfCountries = oService.getAll(); 
     return listOfCountries; 
    } 

這是代碼從DAO類片斷

public List<Data> getAll() { 
     Session session = this.sessionFactory.getCurrentSession(); 
     List<Data> countryList = session.createQuery("from Data").list(); 
     return countryList; 
    } 

這是出現不被映射

@XmlRootElement(name="Data") 
@Entity 
@Table(name="Data") 
public class Data{ 

    @Id 
    @Column(name="id") 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    int id; 

    @Column(name="phone") 
    private 
    String phone; 

    @Column(name="counter") 
    private 
    String counter; 

    @Column(name="STREET_NAME") 
    private 
    String STREET_NAME; 

    @Column(name="address") 
模型類

我加在Spring配置XML文件這個註解映射,調試代碼的我每一層後訪問顯示

<annotation-driven /> 
    <resources mapping="/resources/**" location="/resources/" /> 
<beans:property name="annotatedClasses"> 
      <beans:list> 
       <beans:value>org.model.Data</beans:value> 
      </beans:list> 
     </beans:property> 

我收到此錯誤

org.hibernate.hql.internal.ast.QuerySyntaxException: Data is not mapped [from Data] 
    org.hibernate.hql.internal.ast.QuerySyntaxException.generateQueryException(QuerySyntaxException.java:96) 

端點我發現沒有循環孔這可能是一個可能的解決辦法。請問有什麼可能是錯的?

回答

0

你應該List<Data>像這樣把結果: -

List<Data> result = (List<Data>) session.createQuery("from Data").list(); 

,或者您也可以使用entityManager爲創建查詢。

Query query = entityManager. createQuery("Select data from Data data");