2017-04-20 4 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; 
    } 
からエンドポイントです

これは、これが

@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") 
にマッピングされるべきではない表示されたモデルのクラスであるDAOクラスからのコードの抜粋

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

あります

アクセスに

<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) 

を取得していたエンドポイントを示すように、私はループ穴を発見した私のコードのすべての層をデバッグした後、私は春の設定xmlファイルでこの注釈のマッピングを追加しましたそれは可能な修正かもしれません。何が間違っている可能性がありますか?

答えて

0

あなたはこのようなList<Data>で結果をキャストする必要があります -

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

か、またentityManagerを使用するためのクエリを作成することができます。

Query query = entityManager. createQuery("Select data from Data data"); 
関連する問題