CLOSE FULL VIEW
Abstractions at Scale–Our Experiences at Twitter
Recorded at:
Community comments
JPA as 'dishonest abstraction'
by
Pinaki Poddar
Posted
JPA as 'dishonest abstraction'
by
Pinaki Poddar
Interesting and insightful viewpoint in this talk. However, characterizing JPA as 'dishonest abstraction' is misguided.
JPA is *not* an abstraction. It is a View in a classic MVC design pattern. The model being good, old RDBMS. A view is *not* an abstraction of a model. Nor is JPA or ORM is an abstraction of RDBMS.
Like many other views, JPA presents the user an 'object-oriented' view of a relational database. Like any other views, JPA does not substitute or abstract the underlying model, just provides yet another perspective to a model and one takes (or rejects) a view purely based on their world view.
For a Java developer dealing with a complex graph like domain model, yes, there is some definite advantage of taking a JPA view of a relational schema.
For a batch upload of million flat records from a CSV file -- JPA brings nothing to the table.
JPA is *not* an abstraction. It is a View in a classic MVC design pattern. The model being good, old RDBMS. A view is *not* an abstraction of a model. Nor is JPA or ORM is an abstraction of RDBMS.
Like many other views, JPA presents the user an 'object-oriented' view of a relational database. Like any other views, JPA does not substitute or abstract the underlying model, just provides yet another perspective to a model and one takes (or rejects) a view purely based on their world view.
For a Java developer dealing with a complex graph like domain model, yes, there is some definite advantage of taking a JPA view of a relational schema.
For a batch upload of million flat records from a CSV file -- JPA brings nothing to the table.





Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think