2017-03-06 9 views
0

JPA EclipseリンクをSpringで使用して、文字列に基づいてデータベース内のデータを検索しています。私は私のデータベースは、私はドキュメントを読んでいると、これはHOが実行するための正しい方法である必要があり、私はエラーeclipselinkを使用した不明な列エラーjpa

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'a' in 'field list' 

を取得し、これを実行することによって、しかし、単純な

id | name | password 

ある方法

@Transactional 
    public String authorization(LL l){ 
     Query query = m.createNativeQuery("SELECT a FROM user a WHERE a.name = ?"); 
     query.setParameter(1, l.getName()); 
     UserEntity tmp = (UserEntity) query.getSingleResult(); 
} 

をimpelemtedていますそのような質問。なぜこれを投げているとエラーが起きたのですか?私は間違いを犯しましたか、何か見落としましたか?

すべてのご協力をいただきありがとうございます。

+0

これはSQLではありません。それはJPQL –

答えて

1

あなたは、結果として、その代わりに、ネイティブクエリの実体を持つことを期待しているようだ:

m.createNativeQuery 

m.createQuery 

を使用する更新

あなたが必要とする場合にはネイティブクエリを使用するには、期待される結果クラスを追加する必要があります。

Query query = m.createNativeQuery("SELECT a.* FROM user a WHERE a.name = ?", UserEntity.class); 
+0

を使用していますcreateQuery throws "user"はエラーにマップされていませんcuz imはハイバネートを使用していません – Darlyn

+0

結果クラスを2番目のパラメータとして追加する必要があります..適切な名前を取得するために、 –

関連する問題