Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
JPA Interview Questions for Freshers
2.1.
1. What is JPA?
2.2.
2. What are the advantages of JPA?
2.3.
3. What is the difference between the JPA and Hibernate?
2.4.
4. Define Entity.
2.5.
5. What are the different properties of an entity?
2.6.
6. What is the role of the Entity Manager in Java Persistence API?
2.7.
7. What is an Entity manager?
2.8.
8. What are the basic requirements that the entity class has?
2.9.
9. What is object-relational mapping?
2.10.
10. List some ORM frameworks.
2.11.
11. What are the various directions of entity mapping?
2.12.
12. What type of annotations are used for issuing elements of the Entity collections?
2.13.
13. What are the different types of entity mapping?
2.14.
14. What are the different types of objects that can be stored in the JPA collections mapping?
2.15.
15. What is JPQL?
2.16.
16. What are the essential features of JPQL?
3.
JPA Interview Questions for Experienced
3.1.
17. What type of Java collections can be used in JPA?
3.2.
18. What is the primary purpose of cascading operations in JPA?
3.3.
19. What is Embeddable class?
3.4.
20. What is Mapped Superclass?
3.5.
21. What are the different types of caches that are used in JPA?
3.6.
22. What unique inheritance strategy is used in Hibernate but not in the JPA?
3.7.
23. What is a JPA metamodel?
3.8.
24. What does the Basic annotation do?
3.9.
25. What does the Access annotation do?
3.10.
26. What do you mean by Spring data repository?
3.11.
27. Can we perform the actual tasks like access, persist, and manage data with JPA?
3.12.
28. What is PagingAndSortingRepository?
3.13.
29. What is PlatformTransactionMangaer?
3.14.
30. What do you mean by Criteria API?
3.15.
31. What are the differences between the JPA and JDO?
3.16.
32. Write the two types of fetch strategies that are used in JPA?
3.17.
33. What are the different callback methods that are used in JPA?
3.18.
34. What are the six types of locks described in the JPA specification?
4.
JPA MCQ Questions
4.1.
1. What is the main responsibility of an EntityManager in JPA?
4.2.
2. What annotation is used to specify the table name mapped to an entity class?
4.3.
3. Which JPA annotation defines a one-to-one relationship between entities?
4.4.
4. What is the purpose of the @Id annotation in JPA?
4.5.
5. What are the two main fetching strategies used in JPA relationships?
4.6.
6. What JPA annotation is used for automatic generation of primary key values?
4.7.
7. What is the difference between JPA and Hibernate?
4.8.
8. What is the benefit of using JPA queries (JPQL or Criteria API) over native SQL queries?
4.9.
9. What is the @PersistenceContext annotation used for?
4.10.
10. What does the CascadeType.ALL option achieve in a JPA relationship?
5.
Conclusion
Last Updated: Jun 11, 2024

JPA Interview Questions

Introduction

If you are searching for the JPA Interview Questions, then you are in the right place because, In this article, we will discuss some of the important JPA Interview Questions that were generally asked.

JPA (Java Persistence API) is a fundamental technology for building data-driven applications in Java.  As a developer looking to land your dream job, being comfortable with JPA concepts is essential.  This comprehensive blog dives into the top 30+ JPA interview questions for 2024, providing insightful answers to help you impress interviewers and secure your next role.

JPA Interview Questions

So, without further ado, let's discuss the JPA Interview Questions.

JPA Interview Questions for Freshers

1. What is JPA?

JPA is the acronym for Java Persistent API, a Java specification used to persist data between the Java object and the relational database. It acts as the link between the object-oriented domain models and relational database systems. It requires an implementation as it doesn't perform any function itself. JPA 1.0 is the first version of the Java Persistence API released in 2006.

java

2. What are the advantages of JPA?

The advantages of JPA are-

  • Due to O/R mapping and Database access processing, user programming becomes easy.
  • The price of creating the definition file is minimized by using annotations.
  •  JPA will reduce the interaction with the database.
  • We can also merge the applications used with other JPA providers.

advantages of JPA

3. What is the difference between the JPA and Hibernate?

The difference between the JPA and Hibernate are as follows-

  • Hibernate is one of the most popular open-source implementations of the latest specification of JPA (JPA 2.1).
  • JPA describes rules and APIs only but Hibernate implements these descriptions.
  • JPA defines the specification, and It is an API.


4. Define Entity.

An entity is a group of states associated with a single unit, or an entity is an application-defined object in the Java Persistence Library. It behaves as an object and becomes a principal constituent of the object-oriented paradigm.

5. What are the different properties of an entity?

The properties of an entity are following-

  • Persistability: If an object is stored in the database and can be accessed anytime, then that object is called persistent.
  • Persistent Identity: Each Entity is unique and represents an object identity in Java. Similarly, A object is represented as a persistent identity when stored in a database. This object identity is similar to the primary key in the database.
  • Transactionality: Transactions are a fundamental part of persistence, and it is a set of operations that either fail or succeed as a unit. 
  • Granularity: Entities should not be primitives or built-in objects with a single-dimensional state.


6. What is the role of the Entity Manager in Java Persistence API?

The following roles of the Entity Manager in JPA are-

  • An entity manager is responsible for managing an object referenced by an entity.
  • Entity Manager is accountable for implementing the API and encapsulating all of them within a single interface.
  • It is used for operations like reading, deleting, and writing an entity.


7. What is an Entity manager?

The EntityManager is responsible for implementing an API that manages the lifecycle of entity instances. They manage a set of entities that are defined by a persistence unit. 

The EntityManager API is used to create and remove persistent entity instances and find entities by their primary key, and query over entities. A persistence unit defines the set of entities that a given EntityManager instance can manage.

8. What are the basic requirements that the entity class has?

An entity class must have the following requirements:

  • It must have a no-argument constructor.
  • The class can't be final.
  • It must be annotated with @Entity annotation.
  • It must implement a Serializable interface if the value passes an empty instance as a detached object.


9. What is object-relational mapping?

Object-relational mapping is a mechanism to develop and maintain a relationship between an object and the relational database. It can do so by mapping an object state into the database column. Object-relational mapping converts attributes of programming code into columns of the table.

10. List some ORM frameworks.

The following are the various frameworks that function on the ORM mechanism: -

  • Hibernate
  • TopLink
  • ORMLite
  • iBATIS
  • JPOX


11. What are the various directions of entity mapping?

The direction of mapping will be either unidirectional or bidirectional. In unidirectional mapping, we can map only one Entity to another entity. In contrast, in bidirectional mapping, we can map each Entity to another entity or refer to another entity.

various directions of entity mapping

12. What type of annotations are used for issuing elements of the Entity collections?

The OrderBy and OrderColumn annotations are used to establish the procedure for issuing elements of the entity collections.


13. What are the different types of entity mapping?

The different types of entity mapping are-

  • One-to-one mapping: In this mapping, an instance of one Entity is associated with an instance of another entity that represents a single-valued association. 
  • One-To-Many mapping: In this mapping, an entity is associated with a collection of other entities that come into the collection-valued association category. 
  • Many-to-one mapping: A collection of entities can be associated with a similar entity in this mapping.
  • Many-to-many mapping: This mapping is a collection-valued association where any number of entities can be associated with a collection of other entities.

 

14. What are the different types of objects that can be stored in the JPA collections mapping?

The different types of objects that JPA allows to store are-

  • Basic Types
  • Entities
  • Embeddable


15. What is JPQL?

JPQL, an acronym for Java Persistence Query language (JPQL), is a part of the JPA specification that defines searches against persistence entities. It is an object-oriented query language that performs database operations on persistent entities. JPQL uses an entity object model instead of the database to operate the SQL queries. Here, the primary role of JPA is to transform JPQL into SQL. Hence, it provides an easy platform for developers to handle SQL tasks.

16. What are the essential features of JPQL?

The essential features of JPQL are-

  • JPQL is simple and robust.
  • JPQL is a platform-independent query language.
  • The queries of JPQL can be declared statically into metadata or dynamically built-in code.
  • JPQL can be used with any database such as MySQL or Oracle.

JPA Interview Questions for Experienced

17. What type of Java collections can be used in JPA?

The following types of Java collections that are used to store multivalued entity associations and a group of objects are-

  • List
  • Set
  • Map

Java collections


18. What is the primary purpose of cascading operations in JPA?

We can make it applicable if we apply any task to one Entity to its related entities using cascading operations.


19. What is Embeddable class?

An embeddable class is a class that can contain single embedded classes and collections of such classes that are not used by themselves, only as part of one or more Entity classes. Such classes are used as keys or map values. Each embedded class may belong to only one object of the Entity class at the runtime. Also, it cannot be used to transfer data between the objects of the Entity classes.

Embeddable class

20. What is Mapped Superclass?

A mapped Superclass is an inherited class from which Entity may contain JPA annotations. However, such a class is not an Entity as it does not have to fulfill all the requirements set for Entity. Such class cannot be used in EntityManager or Query operations as it should be marked with the MappedSuperclass annotation or described in the XML file.


21. What are the different types of caches that are used in JPA?

The two kinds of caches are:

types of caches

  • first-level cache- caches data from a single transaction.

caches data from a single transaction

  • second-level cache- caches data for more than one transaction. 


22. What unique inheritance strategy is used in Hibernate but not in the JPA?

Hibernate has a unique inheritance strategy that is called implicit polymorphism.

unique inheritance strategy


23. What is a JPA metamodel?

The JPA Metamodel API provides the ability to examine the persistent object model and retrieve details on managed classes and persistent fields and properties.

24. What does the Basic annotation do?

Basic annotations are the simplest type of data mapping to a database column. Also, in the annotation parameters, we can specify the fetch field access strategy and whether this field is required or not.

25. What does the Access annotation do?

Access annotations are used to define the access type for an entity class, 

26. What do you mean by Spring data repository?

Spring data repository

It is a very important feature of JPA as it helps in reducing a lot of boilerplate code. It also decreases the chance of errors. This is the key abstraction that is provided using the Repository interface.

27. Can we perform the actual tasks like access, persist, and manage data with JPA?

No, we cannot perform actual tasks because JPA is only a Java specification.

manage data with JPA

28. What is PagingAndSortingRepository?

The PagingAndSortingRepository provides methods to retrieve entities using pagination and sorting. It extends the CrudRepository interface.

29. What is PlatformTransactionMangaer?

PlatformTransactionMangaer is the central interface in Spring's transaction infrastructure that extends TransactionManager. 

30. What do you mean by Criteria API?

The Criteria API is a specification using Java programming language APIs that provides type-safe and portable criteria queries. Criteria API is just an alternative method for defining JPA queries. Criteria API is the most common way of constructing queries for entities and their persistent state. Criteria API defines platform-independent criteria queries written in Java programming language. It was introduced in JPA 2.0. The main purpose is to provide a type-safe way to express a question.

31. What are the differences between the JPA and JDO?

JPA (Java Persistence API) and JDO (Java Data Objects) are used for storing Java objects in databases. JDO is a more general specification if JPA is concentrated only on relational databases as it describes the Object-Relational Model for any possible bases and repositories.

32. Write the two types of fetch strategies that are used in JPA?

The two types of fetch strategies used in JPA are:

strategies used in JPA

  • LAZY – It loaded only during the first access to the field.

JPA Strategy

  • EAGER – It loaded immediately.

 

33. What are the different callback methods that are used in JPA?

The different callback methods are-

1) PrePersist

2) PostPersist

3) PreRemove

4) PostRemove

5) PreUpdate

6) PostUpdate

7) PostLoad


34. What are the six types of locks described in the JPA specification?

JPA has six types of locks that are mentioned below:

1) NONE

2) OPTIMISTIC 

3) OPTIMISTIC_FORCE_INCREMENT 

4) PESSIMISTIC_READ

5) PESSIMISTIC_WRITE

6) PESSIMISTIC

 

JPA MCQ Questions

Test your JPA knowledge with these multiple-choice questions!

1. What is the main responsibility of an EntityManager in JPA?

A) Manage database connections 

B) Perform data validation 

C) Persist and retrieve entities 

D) Handle security access control

2. What annotation is used to specify the table name mapped to an entity class?

A) @PersistenceUnit 

B) @EntityListener 

C) @Table 

D) @GeneratedValue

3. Which JPA annotation defines a one-to-one relationship between entities?

A) @OneToMany 

B) @ManyToMany 

C) @OneToOne 

D) @ManyToOne

4. What is the purpose of the @Id annotation in JPA?

A) Define a foreign key column 

B) Mark a property as the primary key 

C) Specify the column name for a field 

D) Indicate a lazy loading strategy

5. What are the two main fetching strategies used in JPA relationships?

A) Optimistic locking and pessimistic locking 

B) Eager loading and lazy loading 

C) Cascade and orphan removal 

D) JPAQL and Criteria API

6. What JPA annotation is used for automatic generation of primary key values?

A) @JoinColumn 

B) @GeneratedValue 

C) @PersistenceContext 

D) @ FetchType

7. What is the difference between JPA and Hibernate?

A) JPA is a specification, Hibernate is an implementation B) Hibernate is a specification, JPA is an implementation
C) Both are the same technology
D) JPA is for NoSQL databases, Hibernate for relational databases

8. What is the benefit of using JPA queries (JPQL or Criteria API) over native SQL queries?

A) Improved performance 

B) Database independence

C) Reduced risk of SQL injection attacks 

D) Easier for developers unfamiliar with SQL

9. What is the @PersistenceContext annotation used for?

A) Define a JPA entity class 

B) Manage persistence context for an entity manager 

C) Specify the persistence unit for an entity 

D) Configure a transaction boundary

10. What does the CascadeType.ALL option achieve in a JPA relationship?

A) One-to-one bidirectional mapping 

B) Persist, update, and delete operations cascade to the related entity 

C) Defines an orphan removal strategy 

D) Lazy loading for associated entities

Conclusion

In this article, we have discussed JPA interview questions. Mastering JPA is crucial for anyone aspiring to excel in Java-based enterprise application development. Through this comprehensive list of the top 30+ JPA interview questions and answers, we've delved into key concepts, best practices, and practical insights that can significantly enhance your understanding and confidence in handling JPA-related queries during interviews.

After reading about the JPA Interview Questions, are you not feeling excited to read/explore more articles on various CMS Platforms? Don't worry; Coding Ninjas has you covered. See JavaJVM and Its architectureIntroduction to JavaMethods in Ruby, and Java Development Kit(JDK).

Recommended Readings:

Do upvote our blogs if you find them helpful and engaging!

Happy Learning!

Live masterclass