0

私はJava eeの初心者です

メールが一意かどうかを確認するクエリを作成したい

Webで検索した後、私はEntityManegerがnullであるという結論に達しました

これは私のエンティティ Customerであり、私の焦点であるクエリCustomer.findByEmailです

@Entity
@Table(name = "customer")
@NamedQueries({
@NamedQuery(name = "Customer.findAll", query = "SELECT c FROM Customer c"),
@NamedQuery(name = "Customer.findById", query = "SELECT c FROM Customer c WHERE c.id = :id"),
@NamedQuery(name = "Customer.findByName", query = "SELECT c FROM Customer c WHERE c.name = :name"),
@NamedQuery(name = "Customer.findByEmail", query = "SELECT c FROM Customer c WHERE c.email = :email"),
(...)

CutomerFacade という名前のセッションがあります

@Stateless
public class CustomerFacade extends AbstractFacade<Customer> {
@PersistenceContext(unitName = "AffableBeanPU")
public EntityManager em;

public List<Customer> GetPorEmail(String match){
   return  em.createNamedQuery("Customer.findByEmail").setParameter("email", match).getResultList();
}

エンティティマネージャーでnullを回避する解決策は何ですか

4

1 に答える 1

0

Java EE サーバーで実行していて、コンテナーを介して SessionBean にアクセスしていることを確認してください。

どのサーバーで実行していますか? SessionBean にどのようにアクセスしますか?

于 2013-04-15T13:09:59.497 に答える