En sesjonsbønne er en type Enterprise-bønne. Den opprettes av en klient og finnes vanligvis bare så lenge en enkelt klient/server-sesjon varer.
Sesjonsbønner er nyttige for å beskrive interaksjoner mellom andre bønner (oppgaveflyt) og for å implementere bestemte oppgaver. De representerer ikke data i databasen, men de kan ha tilgang til data, slik at vi kan bruke sesjonsbønner til å lese, oppdatere og sette inn data i en firmaprosess. Sesjonsbønner får tilgang til data som spenner over konsepter, som ikke deles, som som vanligvis er skrivebeskyttet. Sesjonsbønner inneholder forretningslogikk og persistente data for entitetsmodeller. Det er tre typer sesjonsbønner: stateless, stateful og singleton.
En stateless sesjonsbønne grupperes av containeren til å behandle flere forespørsler fra flere klienter og vedlikeholder ingen samtaletilstand.
En stateful sesjonsbønne fungerer på vegne av en enkelt klient, og opprettholder klientspesifikk sesjonsinformasjon (kalt konversasjonstilstand) for flere metodekall og transaksjoner. Den eksisterer så lenge en enkelt klient/server-sesjon varer.
En singleton sesjonsbønne er en sesjonsbønnekomponent som det dannes forekomst av en gang per applikasjon. Dersom containeren distribueres over mange virtuelle maskiner, vil hver applikasjon ha en bønneforekomst av singletonen for hver JVM.