Lets continue building "Online Tweeter Enterprise Application" in NetBeans. In this section of tutorial, you will create a Stateless Session Bean by name "TweetsFinder.java". A Stateless Session Bean is a enterprise bean that is short - lived object which fulfill single client request and remember nothing about the client in subsequent requests.
Step 1: Open "tweeter-ejb" project and right click Source Packages and then select New and than Other as shown in fig below:
Step 2: On clicking Other a dialog box appears by name New File. In the Categories: list select Enterprise JavaBeans and in the File Types: select Session Bean as shown in fig below.
Step 3: Click

.
New Session Bean dialog box gets open. It prompts us to enter EJB Name: , Project: , Location: , Package: , Session Type: and Create Interface: etc. Enter the values as shown in the fig below.
package com.hubberspot.ejb;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.persistence.criteria.CriteriaQuery;
// @Stateless annotation provides container information to
// treat this Java class as a Stateless Session Bean.
@Stateless
public class TweetsFinder {
// @PersistenceContext injects dependency for the EntityManager
// by loading persistence.xml
// EntityManager provides an interface for database persistence
// such as to persist, merge , load and query objects.
@PersistenceContext(name = "Tweeter-ejbPU")
EntityManager tweetsManager;
// This Stateless Session Bean has only one method
// findAllTweets().
public List< Tweet > findAllTweets() {
// Here, it creates CriteriaQuery object
// from EntityManager by calling its
// getCriteriaBuilder().createQuery() which returns
// back instance of CriteriaQuery.
CriteriaQuery criteriaQuery = tweetsManager.getCriteriaBuilder().createQuery();
// CriteriaQuery has two methods by name select()
// and from which fetches data from database as
// normal SQL select query.
criteriaQuery.select(criteriaQuery.from(Tweet.class));
// Creates a Query instance using criteriaQuery object
// and EntityManager's createQuery() method.
Query query = tweetsManager.createQuery(criteriaQuery);
// Finally it returns back list of tweets stored in
// database.
return query.getResultList();
}
}
Video tutorial to demonstrate How to create a Java EE Stateless Session Bean (EJB) in an Enterprise Application using NetBeans.
In the next section of this blog (part 6) you will learn how to create a JSP page in NetBeans for this application in the Web module.



