Skip to content

Commit 232c66a

Browse files
committed
SqlResultSetMapping Via EntityManager
1 parent c3c4189 commit 232c66a

File tree

5 files changed

+20
-12
lines changed

5 files changed

+20
-12
lines changed

HibernateSpringBootDtoViaSqlResultSetMappingEm/src/main/java/com/bookstore/MainApplication.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public static void main(String[] args) {
2525
public ApplicationRunner init() {
2626
return args -> {
2727

28-
List<AuthorDto> authors = bookstoreService.fetchNameAndAge();
28+
List<AuthorDto> authors = bookstoreService.fetchAuthorsNamesAndAges();
2929

3030
System.out.println("Number of authors:" + authors.size());
3131

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.bookstore.dao;
2+
3+
import com.bookstore.dto.AuthorDto;
4+
import java.util.List;
5+
6+
public interface AuthorDao {
7+
8+
public List<AuthorDto> fetchNameAndAge();
9+
}

HibernateSpringBootDtoViaSqlResultSetMappingEm/src/main/java/com/bookstore/dao/Dao.java renamed to HibernateSpringBootDtoViaSqlResultSetMappingEm/src/main/java/com/bookstore/dao/AuthorDaoImpl.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,22 @@
66
import javax.persistence.PersistenceContext;
77
import javax.persistence.Query;
88
import org.springframework.stereotype.Repository;
9+
import org.springframework.transaction.annotation.Transactional;
910

1011
@Repository
11-
public class Dao {
12+
@Transactional(readOnly=true)
13+
public class AuthorDaoImpl implements AuthorDao {
1214

1315
@PersistenceContext
1416
private EntityManager entityManager;
1517

18+
@Override
1619
public List<AuthorDto> fetchNameAndAge() {
1720

1821
Query query = entityManager.createNativeQuery(
1922
"SELECT name, age FROM author", "AuthorDtoMapping");
2023
List<AuthorDto> authors = query.getResultList();
2124

2225
return authors;
23-
}
24-
25-
protected EntityManager getEntityManager() {
26-
return entityManager;
27-
}
26+
}
2827
}

HibernateSpringBootDtoViaSqlResultSetMappingEm/src/main/java/com/bookstore/service/BookstoreService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package com.bookstore.service;
22

3-
import com.bookstore.dao.Dao;
3+
import com.bookstore.dao.AuthorDaoImpl;
44
import java.util.List;
55
import org.springframework.stereotype.Service;
66
import com.bookstore.dto.AuthorDto;
77

88
@Service
99
public class BookstoreService {
1010

11-
private final Dao dao;
11+
private final AuthorDaoImpl dao;
1212

13-
public BookstoreService(Dao dao) {
13+
public BookstoreService(AuthorDaoImpl dao) {
1414
this.dao = dao;
1515
}
1616

17-
public List<AuthorDto> fetchNameAndAge() {
17+
public List<AuthorDto> fetchAuthorsNamesAndAges() {
1818

1919
return dao.fetchNameAndAge();
2020
}

HibernateSpringBootDtoViaSqlResultSetMappingEm/src/main/resources/application.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ spring.datasource.password=root
55
spring.jpa.hibernate.ddl-auto=create
66
spring.jpa.show-sql=true
77

8-
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
8+
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
99

1010
spring.datasource.initialization-mode=always
1111
spring.datasource.platform=mysql

0 commit comments

Comments
 (0)