Skip to content

Commit 40f7559

Browse files
committed
moved OSIV examples from spring-data-jpa-3 to spring-data-jpa-4
1 parent 63a8132 commit 40f7559

File tree

16 files changed

+94
-16
lines changed

16 files changed

+94
-16
lines changed

persistence-modules/spring-data-jpa-3/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
- [Spring Data JPA Batch Inserts](https://www.baeldung.com/spring-data-jpa-batch-inserts)
1010
- [Batch Insert/Update with Hibernate/JPA](https://www.baeldung.com/jpa-hibernate-batch-insert-update)
1111
- [Difference Between save() and saveAndFlush() in Spring Data JPA](https://www.baeldung.com/spring-data-jpa-save-saveandflush)
12+
1213
- [Programmatic Transaction Management in Spring](https://www.baeldung.com/spring-programmatic-transaction-management)
13-
- [A Guide to Spring’s Open Session In View](https://www.baeldung.com/spring-open-session-in-view)
1414

1515
### Eclipse Config
1616
After importing the project into Eclipse, you may see the following error:

persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/Application.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
56

67
@SpringBootApplication
8+
@EnableJpaRepositories
79
public class Application {
810

911
public static void main(String[] args) {

persistence-modules/spring-data-jpa-3/src/test/java/com/baeldung/boot/daos/CustomerRepository.java renamed to persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/boot/daos/CustomerRepository.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.baeldung.boot.daos;
22

33
import org.springframework.data.repository.CrudRepository;
4+
import org.springframework.stereotype.Repository;
5+
import org.springframework.transaction.annotation.Transactional;
46

57
import com.baeldung.boot.___domain.Customer;
68

@@ -10,6 +12,8 @@
1012
* @author ysharma2512
1113
*
1214
*/
15+
@Repository
16+
@Transactional
1317
public interface CustomerRepository extends CrudRepository<Customer, Long>{
1418

1519
}
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import java.util.Arrays;
55
import java.util.List;
66

7-
import org.springframework.beans.factory.annotation.Autowired;
87
import org.springframework.http.ResponseEntity;
98
import org.springframework.web.bind.annotation.PostMapping;
109
import org.springframework.web.bind.annotation.RestController;
@@ -22,7 +21,6 @@
2221
@RestController
2322
public class CustomerController {
2423

25-
@Autowired
2624
CustomerRepository customerRepository;
2725

2826
public CustomerController(CustomerRepository customerRepository2) {

persistence-modules/spring-data-jpa-3/src/main/java/com/baeldung/repository/UserRepository.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package com.baeldung.repository;
22

3-
import com.baeldung.model.BasicUser;
4-
import org.springframework.data.jpa.repository.EntityGraph;
3+
import java.util.Optional;
4+
55
import org.springframework.data.jpa.repository.JpaRepository;
66

7-
import java.util.Optional;
7+
import com.baeldung.model.BasicUser;
88

99
public interface UserRepository extends JpaRepository<BasicUser, Long> {
1010

11-
@EntityGraph(attributePaths = "permissions")
12-
Optional<BasicUser> findDetailedByUsername(String username);
13-
1411
Optional<BasicUser> findSummaryByUsername(String username);
1512

1613
Optional<BasicUser> findByUsername(String username);

persistence-modules/spring-data-jpa-4/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
### Relevant Articles:
22
- [Derived Query Methods in Spring Data JPA Repositories](https://www.baeldung.com/spring-data-derived-queries)
33
- [LIKE Queries in Spring JPA Repositories](https://www.baeldung.com/spring-jpa-like-queries)
4+
- [A Guide to Spring’s Open Session In View](https://www.baeldung.com/spring-open-session-in-view)
45

56
### Eclipse Config
67
After importing the project into Eclipse, you may see the following error:

persistence-modules/spring-data-jpa-4/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
</parent>
1616

1717
<dependencies>
18+
<dependency>
19+
<groupId>org.springframework.boot</groupId>
20+
<artifactId>spring-boot-starter-web</artifactId>
21+
</dependency>
22+
1823
<dependency>
1924
<groupId>org.springframework.boot</groupId>
2025
<artifactId>spring-boot-starter-data-jpa</artifactId>

persistence-modules/spring-data-jpa-4/src/main/java/com/baeldung/Application.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.boot.autoconfigure.___domain.EntityScan;
6+
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
57

68
@SpringBootApplication
9+
@EnableJpaRepositories
10+
@EntityScan
711
public class Application {
812

913
public static void main(String[] args) {
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.baeldung.model;
2+
3+
import javax.persistence.*;
4+
import java.util.Set;
5+
6+
@Entity
7+
@Table(name = "users")
8+
public class BasicUser {
9+
10+
@Id
11+
@GeneratedValue
12+
private Long id;
13+
14+
private String username;
15+
16+
@ElementCollection
17+
private Set<String> permissions;
18+
19+
public Long getId() {
20+
return id;
21+
}
22+
23+
public void setId(Long id) {
24+
this.id = id;
25+
}
26+
27+
public String getUsername() {
28+
return username;
29+
}
30+
31+
public void setUsername(String username) {
32+
this.username = username;
33+
}
34+
35+
public Set<String> getPermissions() {
36+
return permissions;
37+
}
38+
39+
public void setPermissions(Set<String> permissions) {
40+
this.permissions = permissions;
41+
}
42+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.baeldung.repository;
2+
3+
import java.util.Optional;
4+
5+
import org.springframework.data.jpa.repository.EntityGraph;
6+
import org.springframework.data.jpa.repository.JpaRepository;
7+
import org.springframework.stereotype.Repository;
8+
import org.springframework.transaction.annotation.Transactional;
9+
10+
import com.baeldung.model.BasicUser;
11+
12+
@Repository
13+
@Transactional
14+
public interface BasicUserRepository extends JpaRepository<BasicUser, Long> {
15+
16+
@EntityGraph(attributePaths = "permissions")
17+
Optional<BasicUser> findDetailedByUsername(String username);
18+
19+
}

0 commit comments

Comments
 (0)