| 
 package com.kuaff.ejb3.composite; 
  
import java.util.List; 
import javax.ejb.EntityManager; 
import javax.ejb.Inject; 
import javax.ejb.Stateless; 
  
@Stateless 
public class StudentDAOBean implements StudentDAO 
{ 
     
    @Inject 
    private EntityManager manager; 
     
    public void create(String first, String last, String grade, String email) 
    { 
        Student student = new Student(); 
        student.setName(new Name(first,last)); 
        student.setGrade(grade); 
        student.setEmail(email); 
        manager.create(student); 
         
    } 
  
    public Student find(Name name) 
    { 
        return manager.find(Student.class, name); 
    } 
  
     
    public List findByFirstName(String name) 
    { 
        return manager.createQuery("from Student s where s.name.last = :name").setParameter("name", name).listResults(); 
    } 
  
     
    public List findByLastName(String name) 
    { 
        return manager.createQuery("from Student s where s.name.first = :name").setParameter("name", name).listResults(); 
    } 
  
   
    public List findByEmail(String email) 
    { 
   
        return manager.createQuery("from Student s where s.email = :email").setParameter("email", email).listResults(); 
    } 
  
  
    public void merge(Student s) 
    { 
        manager.merge(s); 
    } 
  
} 
   |