私は、Hibernateでの簡単なfindメソッドました:やるcreateNativeQueryメソッドにエンティティクラスのパラメータを渡すん何エンティティクラスのパラメータをcreateNativeQueryに渡すとどうなりますか?
@Override
public TblUser findByUsername(String username) {
return (TblUser) entityManager.createNativeQuery("SELECT * FROM tblUser WHERE username = ?", TblUser.class)
.setParameter(1, username)
.getSingleResult();
}
を?私はそれを渡すことができますし、いずれかの方法私はJavaを使用してクエリから結果をキャストしました。だから何が前のコードスニペットと、この1との違いです:documentationで
@Override
public TblUser findByUsername(String username) {
return (TblUser) entityManager.createNativeQuery("SELECT * FROM tblUser WHERE username = ?")
.setParameter(1, username)
.getSingleResult();
}
言及した唯一の違いは、私は削除して、更新する最初のメソッドを使用する必要があるということです。それは2つの方法の唯一の違いですか?それが結果を返すことをプログラマに伝えるには?それはコンパイラに影響を与えますか?