Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

EJB - Sum of a Column

 
Ajit Kumar
Ranch Hand
Posts: 81
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi,
I am using CMP for EJB beans in my project. I would like to get the sum of a particular column in my EJB.
how do i do that.
It cannot be in the entity bean i guess.
My reasoning is based on the fact that each entity bean instance corresponds to a row in the database table.
Hence a method like getSumOfxxx() cannot be part of the behaviour of one particular row.
Should i have to use JDBC from a session EJB?

any ideas?
thanks in advance
 
Tim Holloway
Saloon Keeper
Pie
Posts: 18165
53
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"My reasoning is based on the fact that each entity bean instance corresponds to a row in the database table."
That's a common misconception. An entity EJB need not be associated with a database at all. It is a requirement that an Entity bean be persistable but the mechanism itself is not that narrowly defined. Just about all CMP beans are persisted via a DBMS, but BMP beans can choose their persistence method.
A SUM() operation by definition is a read-only operation, so you'd have to make your beans read-only as well, but that's a minor detail. In a complex situation or one where the underlying data are going to be accessed in other ways as well you might want to have a session bean act as a facade for a summation of entity beans, but in a simpler case it might be easier to have the entity bean present the sum directly.
But yes, you could do JDBC in a Session bean as well - just be careful - you don't want session database logic colliding with entity database logic.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic