2017-06-04 5 views
-1

私はデータベースからエンティティクラスを作成するためにnetbeanのオプションを使用しています。私は実際にこの "方言"にクエリに慣れていないので、その構文についてもっと知りたいと思っていました。誰かが私の "方言"の名前やこのクエリの構文を教えてくれますか?NamedQueriesはどのようなタイプのクエリを使用しますか?

@NamedQueries({ 
@NamedQuery(name = "Users.findAll", query = "SELECT u FROM Users u") 
, @NamedQuery(name = "Users.findByUserId", query = "SELECT u FROM Users u WHERE u.userId = :userId") 
, @NamedQuery(name = "Users.findByName", query = "SELECT u FROM Users u WHERE u.name= :name") 
, @NamedQuery(name = "Users.findBySurname", query = "SELECT u FROM Users u WHERE u.surname= :surname") 
, @NamedQuery(name = "Users.findByEmail", query = "SELECT u FROM Users u WHERE u.email = :email") 
, @NamedQuery(name = "Users.findByDateOfBirth", query = "SELECT u FROM Users u WHERE u.dateob= :dateob") 
, @NamedQuery(name = "Users.findByPassword", query = "SELECT u FROM Users u WHERE u.password= :password")}) 
+0

JPQLと呼ばれています。 JPAを使用している場合は、おそらくそれについて少し読んで開始する必要があります。あなたのクラスの名前は、ユーザーではなく、BTWでなければなりません。 –

答えて

1

JPQL(Java Persistence API)仕様で定義されているのはSQLではなく、JPQL(Java Persistence Query Language)です。

JPA(例えば、Hibernate)の実装は、これを、アクセスしているデータソースに対する正しいSQL方言のSQLクエリに変換します。