I am experimenting with Jakarta EE and Jakarta Faces (JSF). I just made a CDI named session scoped bean (as JSF managedBean's are deprecated now), and was wondering why one would use a stateful EJB when scoped beans (running in the CDI container) are available, it seems to me that any transactions can be done using a stateless bean injected into the CDI managed bean.
Any real-world use cases would be really helpful :).
For those wondering, my Managed/named bean looks like this:
import jakarta.ejb.EJB;
import jakarta.enterprise.context.SessionScoped;
import jakarta.inject.Named;
@Named("userBean")
@SessionScoped
public class UserSessionBean implements java.io.Serializable{
@EJB
TransactionBean bean; //can be used to persist user data
String username;
String password;
// Constructor, getters and setters
}