Skip to content

Commit 7317eaf

Browse files
authored
Merge pull request #18417 from Bipinkumar27/JAVA-41259
JAVA-41259 Moved code of article jpa-stored-procedures from java-jpa …
2 parents 945f8c3 + e2efbf9 commit 7317eaf

File tree

47 files changed

+284
-252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+284
-252
lines changed

persistence-modules/java-jpa-2/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ This module contains articles about the Java Persistence API (JPA) in Java.
44

55
### Relevant Articles
66

7-
- [JPA Query Parameters Usage](https://www.baeldung.com/jpa-query-parameters)
87
- [Mapping Entity Class Names to SQL Table Names with JPA](https://www.baeldung.com/jpa-entity-table-names)
9-
- [Default Column Values in JPA](https://www.baeldung.com/jpa-default-column-values)
108
- [Types of JPA Queries](https://www.baeldung.com/jpa-queries)
119
- [JPA/Hibernate Projections](https://www.baeldung.com/jpa-hibernate-projections)
1210
- [Combining JPA And/Or Criteria Predicates](https://www.baeldung.com/jpa-and-or-criteria-predicates)

persistence-modules/java-jpa-2/src/main/resources/META-INF/persistence.xml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,6 @@
3939
</properties>
4040
</persistence-unit>
4141

42-
<persistence-unit name="entity-default-values">
43-
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
44-
<class>com.baeldung.jpa.defaultvalues.User</class>
45-
<class>com.baeldung.jpa.defaultvalues.UserEntity</class>
46-
<exclude-unlisted-classes>true</exclude-unlisted-classes>
47-
<properties>
48-
<property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver" />
49-
<property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:test" />
50-
<property name="jakarta.persistence.jdbc.user" value="sa" />
51-
<property name="jakarta.persistence.jdbc.password" value="" />
52-
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
53-
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
54-
<property name="show_sql" value="true" />
55-
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
56-
</properties>
57-
</persistence-unit>
58-
5942
<persistence-unit name="jpa-query-types">
6043
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
6144
<class>com.baeldung.jpa.querytypes.UserEntity</class>

persistence-modules/java-jpa-2/src/test/resources/META-INF/persistence.xml

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,6 @@
44
version="3.0"
55
xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
66

7-
<persistence-unit name="jpa-h2-queryparams"
8-
transaction-type="RESOURCE_LOCAL">
9-
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
10-
<class>com.baeldung.jpa.queryparams.Employee</class>
11-
<exclude-unlisted-classes>true</exclude-unlisted-classes>
12-
<properties>
13-
<property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver" />
14-
<property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:test" />
15-
<property name="jakarta.persistence.jdbc.user" value="sa" />
16-
<property name="jakarta.persistence.jdbc.password" value="" />
17-
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
18-
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
19-
<property name="show_sql" value="false" />
20-
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
21-
<property name="jakarta.persistence.sql-load-script-source" value="queryparams.sql" />
22-
</properties>
23-
</persistence-unit>
24-
257

268
<persistence-unit name="jpa-h2-text">
279
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
@@ -39,23 +21,6 @@
3921
</properties>
4022
</persistence-unit>
4123

42-
<persistence-unit name="entity-default-values">
43-
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
44-
<class>com.baeldung.jpa.defaultvalues.User</class>
45-
<class>com.baeldung.jpa.defaultvalues.UserEntity</class>
46-
<exclude-unlisted-classes>true</exclude-unlisted-classes>
47-
<properties>
48-
<property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver" />
49-
<property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:test" />
50-
<property name="jakarta.persistence.jdbc.user" value="sa" />
51-
<property name="jakarta.persistence.jdbc.password" value="" />
52-
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
53-
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
54-
<property name="show_sql" value="false" />
55-
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
56-
</properties>
57-
</persistence-unit>
58-
5924
<persistence-unit name="jpa-query-types">
6025
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
6126
<class>com.baeldung.jpa.querytypes.UserEntity</class>

persistence-modules/java-jpa-3/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,5 @@ This module contains articles about the Java Persistence API (JPA) in Java.
1010
- [JPA CascadeType.REMOVE vs orphanRemoval](https://www.baeldung.com/jpa-cascade-remove-vs-orphanremoval)
1111
- [A Guide to MultipleBagFetchException in Hibernate](https://www.baeldung.com/java-hibernate-multiplebagfetchexception)
1212
- [How to Convert a Hibernate Proxy to a Real Entity Object](https://www.baeldung.com/hibernate-proxy-to-real-entity-object)
13-
- [Returning an Auto-Generated Id with JPA](https://www.baeldung.com/jpa-get-auto-generated-id)
1413
- [How to Return Multiple Entities in JPA Query](https://www.baeldung.com/jpa-return-multiple-entities)
15-
- [Defining Unique Constraints in JPA](https://www.baeldung.com/jpa-unique-constraints)
1614
- [Connecting to a Specific Schema in JDBC](https://www.baeldung.com/jdbc-connect-to-schema)

persistence-modules/java-jpa-3/src/main/resources/META-INF/persistence.xml

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -97,38 +97,7 @@
9797
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
9898
</properties>
9999
</persistence-unit>
100-
101-
<persistence-unit name="jpa-h2-id-generation">
102-
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
103-
<class>com.baeldung.jpa.IdGeneration.User</class>
104-
<exclude-unlisted-classes>true</exclude-unlisted-classes>
105-
<properties>
106-
<property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver"/>
107-
<property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:idGen"/>
108-
<property name="jakarta.persistence.jdbc.user" value="sa"/>
109-
<property name="jakarta.persistence.jdbc.password" value=""/>
110-
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
111-
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
112-
<property name="hibernate.format_sql" value="true"/>
113-
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
114-
</properties>
115-
</persistence-unit>
116-
<persistence-unit name="jpa-unique-constraints">
117-
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
118-
<class>com.baeldung.jpa.uniqueconstraints.Person</class>
119-
<class>com.baeldung.jpa.uniqueconstraints.Address</class>
120-
<exclude-unlisted-classes>true</exclude-unlisted-classes>
121-
<properties>
122-
<property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver" />
123-
<property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:test" />
124-
<property name="jakarta.persistence.jdbc.user" value="sa" />
125-
<property name="jakarta.persistence.jdbc.password" value="" />
126-
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
127-
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
128-
<property name="show_sql" value="true" />
129-
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
130-
</properties>
131-
</persistence-unit>
100+
132101
<persistence-unit name="jpa-h2-return-multiple-entities">
133102
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
134103
<class>com.baeldung.jpa.returnmultipleentities.Channel</class>

persistence-modules/java-jpa-4/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,9 @@ This module contains articles about the Java Persistence API (JPA) in Java.
88
- [Clear Managed Entities in JPA/Hibernate](https://www.baeldung.com/hibernate-clear-managed-entities)
99
- [Fixing the “Could Not Determine Recommended JdbcType for Class” Error in JPA](https://www.baeldung.com/jpa-could-not-determine-recommended-jdbctype-for-class)
1010
- [How to Clone a JPA Entity](https://www.baeldung.com/java-jpa-clone-entity)
11+
- [A Guide to Stored Procedures with JPA](https://www.baeldung.com/jpa-stored-procedures)
12+
- [JPA @Basic Annotation](https://www.baeldung.com/jpa-basic-annotation)
13+
- [Fixing the JPA error “java.lang.String cannot be cast to Ljava.lang.String;”](https://www.baeldung.com/jpa-error-java-lang-string-cannot-be-cast)
14+
- [Converting Between LocalDate and SQL Date](https://www.baeldung.com/java-convert-localdate-sql-date)
15+
- [JPA Support for java.time Types](https://www.baeldung.com/jpa-java-time)
16+
- [A Guide to SqlResultSetMapping](https://www.baeldung.com/jpa-sql-resultset-mapping)

persistence-modules/java-jpa-4/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@
5050
<artifactId>modelmapper</artifactId>
5151
<version>${modelmapper.version}</version>
5252
</dependency>
53+
<dependency>
54+
<groupId>com.mysql</groupId>
55+
<artifactId>mysql-connector-j</artifactId>
56+
<version>${mysql.version}</version>
57+
</dependency>
5358
</dependencies>
5459

5560
<build>
@@ -74,6 +79,7 @@
7479
<fasterxml.jackson.version>2.17.0</fasterxml.jackson.version>
7580
<commons.beanutils.version>1.9.4</commons.beanutils.version>
7681
<modelmapper.version>3.2.1</modelmapper.version>
82+
<mysql.version>8.4.0</mysql.version>
7783
</properties>
7884

7985
</project>
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,68 @@
1-
package com.baeldung.jpa.datetime;
2-
3-
import jakarta.persistence.EntityManager;
4-
import jakarta.persistence.EntityManagerFactory;
5-
import jakarta.persistence.Persistence;
6-
import java.sql.Date;
7-
import java.sql.Time;
8-
import java.sql.Timestamp;
9-
import java.time.*;
10-
import java.util.Calendar;
11-
12-
public class DateTimeEntityRepository {
13-
private EntityManagerFactory emf = null;
14-
15-
public DateTimeEntityRepository() {
16-
emf = Persistence.createEntityManagerFactory("java8-datetime-postgresql");
17-
}
18-
19-
public JPA22DateTimeEntity find(Long id) {
20-
EntityManager entityManager = emf.createEntityManager();
21-
22-
JPA22DateTimeEntity dateTimeTypes = entityManager.find(JPA22DateTimeEntity.class, id);
23-
24-
entityManager.close();
25-
return dateTimeTypes;
26-
}
27-
28-
public void save(Long id) {
29-
JPA22DateTimeEntity dateTimeTypes = new JPA22DateTimeEntity();
30-
dateTimeTypes.setId(id);
31-
32-
//java.sql types: date/time
33-
dateTimeTypes.setSqlTime(Time.valueOf(LocalTime.now()));
34-
dateTimeTypes.setSqlDate(Date.valueOf(LocalDate.now()));
35-
dateTimeTypes.setSqlTimestamp(Timestamp.valueOf(LocalDateTime.now()));
36-
37-
//java.util types: date/calendar
38-
java.util.Date date = new java.util.Date();
39-
dateTimeTypes.setUtilTime(date);
40-
dateTimeTypes.setUtilDate(date);
41-
dateTimeTypes.setUtilTimestamp(date);
42-
43-
//Calendar
44-
Calendar calendar = Calendar.getInstance();
45-
dateTimeTypes.setCalendarTime(calendar);
46-
dateTimeTypes.setCalendarDate(calendar);
47-
dateTimeTypes.setCalendarTimestamp(calendar);
48-
49-
//java.time types
50-
dateTimeTypes.setLocalTime(LocalTime.now());
51-
dateTimeTypes.setLocalDate(LocalDate.now());
52-
dateTimeTypes.setLocalDateTime(LocalDateTime.now());
53-
54-
//java.time types with offset
55-
dateTimeTypes.setOffsetTime(OffsetTime.now());
56-
dateTimeTypes.setOffsetDateTime(OffsetDateTime.now());
57-
58-
EntityManager entityManager = emf.createEntityManager();
59-
entityManager.getTransaction().begin();
60-
entityManager.persist(dateTimeTypes);
61-
entityManager.getTransaction().commit();
62-
entityManager.close();
63-
}
64-
65-
public void clean() {
66-
emf.close();
67-
}
68-
}
1+
package com.baeldung.jpa.datetime;
2+
3+
import jakarta.persistence.EntityManager;
4+
import jakarta.persistence.EntityManagerFactory;
5+
import jakarta.persistence.Persistence;
6+
import java.sql.Date;
7+
import java.sql.Time;
8+
import java.sql.Timestamp;
9+
import java.time.*;
10+
import java.util.Calendar;
11+
12+
public class DateTimeEntityRepository {
13+
private EntityManagerFactory emf = null;
14+
15+
public DateTimeEntityRepository() {
16+
emf = Persistence.createEntityManagerFactory("java8-datetime-postgresql");
17+
}
18+
19+
public JPA22DateTimeEntity find(Long id) {
20+
EntityManager entityManager = emf.createEntityManager();
21+
22+
JPA22DateTimeEntity dateTimeTypes = entityManager.find(JPA22DateTimeEntity.class, id);
23+
24+
entityManager.close();
25+
return dateTimeTypes;
26+
}
27+
28+
public void save(Long id) {
29+
JPA22DateTimeEntity dateTimeTypes = new JPA22DateTimeEntity();
30+
dateTimeTypes.setId(id);
31+
32+
//java.sql types: date/time
33+
dateTimeTypes.setSqlTime(Time.valueOf(LocalTime.now()));
34+
dateTimeTypes.setSqlDate(Date.valueOf(LocalDate.now()));
35+
dateTimeTypes.setSqlTimestamp(Timestamp.valueOf(LocalDateTime.now()));
36+
37+
//java.util types: date/calendar
38+
java.util.Date date = new java.util.Date();
39+
dateTimeTypes.setUtilTime(date);
40+
dateTimeTypes.setUtilDate(date);
41+
dateTimeTypes.setUtilTimestamp(date);
42+
43+
//Calendar
44+
Calendar calendar = Calendar.getInstance();
45+
dateTimeTypes.setCalendarTime(calendar);
46+
dateTimeTypes.setCalendarDate(calendar);
47+
dateTimeTypes.setCalendarTimestamp(calendar);
48+
49+
//java.time types
50+
dateTimeTypes.setLocalTime(LocalTime.now());
51+
dateTimeTypes.setLocalDate(LocalDate.now());
52+
dateTimeTypes.setLocalDateTime(LocalDateTime.now());
53+
54+
//java.time types with offset
55+
dateTimeTypes.setOffsetTime(OffsetTime.now());
56+
dateTimeTypes.setOffsetDateTime(OffsetDateTime.now());
57+
58+
EntityManager entityManager = emf.createEntityManager();
59+
entityManager.getTransaction().begin();
60+
entityManager.persist(dateTimeTypes);
61+
entityManager.getTransaction().commit();
62+
entityManager.close();
63+
}
64+
65+
public void clean() {
66+
emf.close();
67+
}
68+
}

0 commit comments

Comments
 (0)