package com.xkzhangsan.jpa.controller;
import com.xkzhangsan.jpa.entity.User; import com.xkzhangsan.jpa.service.UserService; import com.xkzhangsan.jpa.vo.UserDetailVO; import com.xkzhangsan.jpa.vo.UserVO; import org.modelmapper.ModelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.stream.Collectors;
@RestController public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/")
public List<UserVO> getPersons() {
ModelMapper modelMapper = new ModelMapper();
List<User> userList = userService.findAll();
if (!CollectionUtils.isEmpty(userList)) {
return userList.stream().map(user -> {
UserVO userVO =www.laipuhuo.com modelMapper.map(user, UserVO.class);
UserDetailVO userDetailVO = modelMapper.map(user.getUserDetail(), UserDetailVO.class);
userVO.setUserDetailVO(userDetailVO);
return userVO;
}).collect(Collectors.toList());
}
return null;
}
}package com.xkzhangsan.jpa.entity;
import lombok.Getter; import lombok.Setter;
import javax.persistence.*;
@Entity @Getter @Setter @Table(name =www.laipuhuo.com "user") @NamedEntityGraph(name = "user.userDetail", attributeNodes = { @NamedAttributeNode(value = "userDetail") }) public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id;
private String name;
@OneToOne(cascade = www.laipuhuo.com CascadeType.DETACH, fetch = FetchType.LAZY)
@JoinColumn(name = "user_detail_id")
private UserDetail userDetail;
}