Данные Spring, запрашивающие столбец многие-к-одному - PullRequest
0 голосов
/ 23 мая 2018

Здравствуйте, я боролся с моей ошибкой, так как я новичок в данных Spring, у меня есть модели с именем user и role, и я хочу запросить пользователя с ролью, но роль не может запросить у jpa здесьМой пример кода

Модуль пользователя:

@Entity
public class User {

@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;

@Column(unique = true, nullable = false)
private String username;
private String password;
private String firstName;
private String lastName;
private String middleName;

@ManyToOne
@JsonBackReference
private Role role;

private Boolean isDisable;
//getter and setters here
}

Модуль роли:

@Entity
public class Role {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
private String roleName;

@ElementCollection(fetch = FetchType.EAGER)
private List<String> privileges;

@OneToMany(mappedBy="role")
@JsonManagedReference
private List<User> users;
//getter and setter
}

Репозиторий ролей:

@Repository
public interface UserRepository extends JpaRepository<User,Long>{
User findByUsername(String username);
List<User> findAll();
}

Реализация службы пользователя:

@Service
public class UserServiceImpl implements UserService {

@Autowired
private final UserRepository userRepository;

public UserServiceImpl(UserRepository userRepository) {
    this.userRepository = userRepository;
}

@Override
public User findByUsername(String username) {
    return userRepository.findByUsername(username);
}

@Override
public List<User> findAll() {
    return userRepository.findAll();
}

@Override
public User findById(Long id) {
    return userRepository.findById(id).get();
}

@Override
public User save(User user) {
    return userRepository.save(user);
}
}

Служба поддержки:

@Repository
public interface UserService {

User findByUsername(String string);
List<User> findAll();
User findById(Long id);
User save(User user);
}

Ответ:

{
"id": 4,
"username": "user",
"password": "$2a$10$ZQMkXzXAXyFvvrZ38UnWkuLpe34pM9c2Qnir/4dtZFyxsANYRkMYy",
"firstName": "user-firstname",
"lastName": "user-lastname",
"middleName": "user-middlename",
"disable": false
}

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...