Skip to content

Commit e7b1bf0

Browse files
committed
JAVA-41259 Moved code of article jpa-java-time from java-jpa to java-jpa-4
1 parent 14c4c5e commit e7b1bf0

File tree

7 files changed

+105
-106
lines changed

7 files changed

+105
-106
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ This module contains articles about the Java Persistence API (JPA) in Java.
1212
- [JPA @Basic Annotation](https://www.baeldung.com/jpa-basic-annotation)
1313
- [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)
1414
- [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)
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+
}
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
package com.baeldung.jpa.datetime;
2-
3-
public class MainApp {
4-
5-
public static void main(String... args) {
6-
7-
DateTimeEntityRepository dateTimeEntityRepository = new DateTimeEntityRepository();
8-
9-
//Persist
10-
dateTimeEntityRepository.save(100L);
11-
12-
//Find
13-
JPA22DateTimeEntity dateTimeEntity = dateTimeEntityRepository.find(100L);
14-
15-
dateTimeEntityRepository.clean();
16-
}
17-
1+
package com.baeldung.jpa.datetime;
2+
3+
public class MainApp {
4+
5+
public static void main(String... args) {
6+
7+
DateTimeEntityRepository dateTimeEntityRepository = new DateTimeEntityRepository();
8+
9+
//Persist
10+
dateTimeEntityRepository.save(100L);
11+
12+
//Find
13+
JPA22DateTimeEntity dateTimeEntity = dateTimeEntityRepository.find(100L);
14+
15+
dateTimeEntityRepository.clean();
16+
}
17+
1818
}

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,5 +226,24 @@
226226
</properties>
227227
</persistence-unit>
228228

229+
<persistence-unit name="java8-datetime-postgresql"
230+
transaction-type="RESOURCE_LOCAL">
231+
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
232+
<class>com.baeldung.jpa.datetime.JPA22DateTimeEntity</class>
233+
<exclude-unlisted-classes>true</exclude-unlisted-classes>
234+
<properties>
235+
<property name="jakarta.persistence.jdbc.driver" value="org.postgresql.Driver" />
236+
<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/java8-datetime2" />
237+
<property name="jakarta.persistence.jdbc.user" value="postgres" />
238+
<property name="jakarta.persistence.jdbc.password" value="postgres" />
239+
<property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create" />
240+
241+
<!-- configure logging -->
242+
<property name="eclipselink.logging.level" value="INFO" />
243+
<property name="eclipselink.logging.level.sql" value="FINE" />
244+
<property name="eclipselink.logging.parameters" value="true" />
245+
</properties>
246+
</persistence-unit>
247+
229248

230249
</persistence>

persistence-modules/java-jpa/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ This module contains articles about the Java Persistence API (JPA) in Java.
66

77
- [A Guide to SqlResultSetMapping](https://www.baeldung.com/jpa-sql-resultset-mapping)
88
- [JPA Entity Graph](https://www.baeldung.com/jpa-entity-graph)
9-
- [JPA Support for java.time Types](https://www.baeldung.com/jpa-java-time)
109
- [Composite Primary Keys in JPA](https://www.baeldung.com/jpa-composite-primary-keys)
1110
- [Defining JPA Entities](https://www.baeldung.com/jpa-entities)
1211
- [Persisting Enums in JPA](https://www.baeldung.com/jpa-persisting-enums-in-jpa)

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

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
<persistence-unit name="jpa-h2">
88
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
9-
<class>com.baeldung.jpa.stringcast.Message</class>
109
<class>com.baeldung.jpa.enums.Article</class>
1110
<class>com.baeldung.jpa.enums.CategoryConverter</class>
1211
<exclude-unlisted-classes>true</exclude-unlisted-classes>
@@ -36,25 +35,6 @@
3635
</properties>
3736
</persistence-unit>
3837

39-
<persistence-unit name="java8-datetime-postgresql"
40-
transaction-type="RESOURCE_LOCAL">
41-
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
42-
<class>com.baeldung.jpa.datetime.JPA22DateTimeEntity</class>
43-
<exclude-unlisted-classes>true</exclude-unlisted-classes>
44-
<properties>
45-
<property name="jakarta.persistence.jdbc.driver" value="org.postgresql.Driver" />
46-
<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/java8-datetime2" />
47-
<property name="jakarta.persistence.jdbc.user" value="postgres" />
48-
<property name="jakarta.persistence.jdbc.password" value="postgres" />
49-
<property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create" />
50-
51-
<!-- configure logging -->
52-
<property name="eclipselink.logging.level" value="INFO" />
53-
<property name="eclipselink.logging.level.sql" value="FINE" />
54-
<property name="eclipselink.logging.parameters" value="true" />
55-
</properties>
56-
</persistence-unit>
57-
5838
<persistence-unit name="jpa-entity-definition">
5939
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
6040
<class>com.baeldung.jpa.entity.Student</class>

0 commit comments

Comments
 (0)