I'm a beginner in the world of Java EE, I have a problem with EJBs, in fact I just learned Stateless EJB, I use it for my DAOs with the EntityManager injected in it and doing some CRUD, but I don't know anything else about them, I've read that one of their major advantages is that they're "transactional" or something like this, I did a lot of research but I still can't understand what this means exactly.
Can you please tell why some people hate EJBs, what is so heavy about them that they don't like? what is the "transaction" thing? should I use Stateless everytime as DAOs instead of POJOs?
Or if you have any useful links for a beginner, thank you in advance.