From 3619481d1fd084eb947f9d9b2665d83a9e367d40 Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Fri, 8 May 2020 17:13:00 +0800 Subject: [PATCH] update Former-commit-id: 042c031a2e9c677aca4d14f03e2b0b17c2ce7cb1 --- .../com/nbaxp/Controllers/HomeController.java | 6 ++---- .../java/com/nbaxp/Entities/UserRole.java | 21 +++++++++++++++++-- .../java/com/nbaxp/Services/UserService.java | 19 ++++++++++++++++- .../application-development.properties | 7 ++++++- 4 files changed, 45 insertions(+), 8 deletions(-) diff --git a/labs/SpringDataJPATest/src/main/java/com/nbaxp/Controllers/HomeController.java b/labs/SpringDataJPATest/src/main/java/com/nbaxp/Controllers/HomeController.java index 41979123..34e7ddc5 100644 --- a/labs/SpringDataJPATest/src/main/java/com/nbaxp/Controllers/HomeController.java +++ b/labs/SpringDataJPATest/src/main/java/com/nbaxp/Controllers/HomeController.java @@ -1,8 +1,6 @@ package com.nbaxp.Controllers; -import com.nbaxp.Entities.User; import com.nbaxp.Services.UserService; -import org.springframework.data.domain.Page; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -16,8 +14,8 @@ public class HomeController { } @RequestMapping("/") - public Page index() + public long index() { - return this.userService.Query(); + return this.userService.Query().getTotalElements(); } } diff --git a/labs/SpringDataJPATest/src/main/java/com/nbaxp/Entities/UserRole.java b/labs/SpringDataJPATest/src/main/java/com/nbaxp/Entities/UserRole.java index c985b761..599f364a 100644 --- a/labs/SpringDataJPATest/src/main/java/com/nbaxp/Entities/UserRole.java +++ b/labs/SpringDataJPATest/src/main/java/com/nbaxp/Entities/UserRole.java @@ -10,14 +10,14 @@ public class UserRole extends BaseEntity { private String userId; @JoinColumn(name="UserId") - @ManyToOne + @ManyToOne(cascade = CascadeType.ALL) private User user; @Column(name="RoleId",nullable = false, updatable = false, insertable = false) private String roleId; @JoinColumn(name="RoleId") - @ManyToOne + @ManyToOne(cascade = CascadeType.ALL) private Role role; public String getUserId() { @@ -35,4 +35,21 @@ public class UserRole extends BaseEntity { public void setRoleId(String roleId) { this.roleId = roleId; } + + public User getUser() { + return user; + } + + public void setUser(User user) + { + this.user=user; + } + + public Role getRole() { + return role; + } + + public void setRole(Role role) { + this.role = role; + } } diff --git a/labs/SpringDataJPATest/src/main/java/com/nbaxp/Services/UserService.java b/labs/SpringDataJPATest/src/main/java/com/nbaxp/Services/UserService.java index 7b0d3d33..81fdb327 100644 --- a/labs/SpringDataJPATest/src/main/java/com/nbaxp/Services/UserService.java +++ b/labs/SpringDataJPATest/src/main/java/com/nbaxp/Services/UserService.java @@ -1,6 +1,8 @@ package com.nbaxp.Services; +import com.nbaxp.Entities.Role; import com.nbaxp.Entities.User; +import com.nbaxp.Entities.UserRole; import com.nbaxp.Repositories.UserRepository; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -8,6 +10,9 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import javax.transaction.Transactional; import java.util.List; import java.util.UUID; @@ -20,12 +25,24 @@ public class UserService { this.userRepository=userRepository; } + @PersistenceContext + private EntityManager em; + + @Transactional public Page Query() { User user = new User(); user.setUserName("user"+ UUID.randomUUID().toString()); user.setEmail("test@test.com"+ UUID.randomUUID().toString()); - this.userRepository.save(user); + Role role = new Role(); + role.setName("role"+UUID.randomUUID().toString()); + UserRole userRole=new UserRole(); + userRole.setUser(user); + userRole.setRole(role); + user.getUserRoles().add(userRole); + //em.persist(user); + //em.persist(role); + em.persist(userRole); List users= this.userRepository.findAll(); Pageable pageRequest = PageRequest.of(0,10,Sort.by(Sort.Order.asc("id"))); return this.userRepository.findAll((root, query, builder) -> { diff --git a/labs/SpringDataJPATest/src/main/resources/application-development.properties b/labs/SpringDataJPATest/src/main/resources/application-development.properties index 39139478..e9c0b36c 100644 --- a/labs/SpringDataJPATest/src/main/resources/application-development.properties +++ b/labs/SpringDataJPATest/src/main/resources/application-development.properties @@ -1,4 +1,9 @@ spring.jpa.hibernate.ddl-auto=create spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true -logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace \ No newline at end of file +logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace +spring.datasource.url = jdbc:h2:mem:dbtest +spring.datasource.platform=h2 +spring.h2.console.path=/h2 +spring.h2.console.enabled=true +spring.h2.console.settings.web-allow-others=true \ No newline at end of file