To find an entity EntityManger
interface provides a find()
method of searching an element based on the primary key.
Find an example of JPA entities
Here, we will search for the specified record and its output value in the console.
Complete project codes are as follows -
This example includes the steps of -
Step 1: In com.yiibai.jpa.student
creating a package called the StudentEntity.java
entity class attributes comprising: s_id
, s_name
and s_age
.
File: StudentEntity.java code is as follows -
package com.yiibai.jpa.student; import javax.persistence.*; @Entity @Table(name = "student") public class StudentEntity { @Id private int s_id; private String s_name; private int s_age; public StudentEntity(int s_id, String s_name, int s_age) { super(); this.s_id = s_id; this.s_name = s_name; this.s_age = s_age; } public StudentEntity() { super(); } public int getS_id() { return s_id; } public void setS_id(int s_id) { this.s_id = s_id; } public String getS_name() { return s_name; } public void setS_name(String s_name) { this.s_name = s_name; } public int getS_age() { return s_age; } public void setS_age(int s_age) { this.s_age = s_age; } }
Step 2: The entity class and configuration to the other database persistence.xml
files.
File: the persistence.xml code is as follows -
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="Student_details"> <class>com.yiibai.jpa.student.StudentEntity</class> <properties> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC" /> <property name="javax.persistence.jdbc.user" value="root" /> <property name="javax.persistence.jdbc.password" value="123456" /> <property name="eclipselink.logging.level" value="SEVERE" /> <property name="eclipselink.ddl-generation" value="create-or-extend-tables" /> </properties> </persistence-unit> </persistence>
In com.yiibai.jpa.student
creating a package called the FindStudent.java
persistent class, in order to be consistent with the data entity object.
File: FindStudent.java code is as follows -
package com.yiibai.jpa.student; import javax.persistence.*; import com.yiibai.jpa.student.*; public class FindStudent { public static void main(String args[]) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("Student_details"); EntityManager em = emf.createEntityManager(); StudentEntity s = em.find(StudentEntity.class, 1001); System.out.println("Student id = " + s.getS_id()); System.out.println("Student Name = " + s.getS_name()); System.out.println("Student Age = " + s.getS_age()); } }
Performing the sample code above, the following results -
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Fri Jun 08 14:09:45 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Fri Jun 08 14:09:45 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Student id = 1001
Student Name = Maxsu
Student Age = 26