Я не могу создать соответствующий GUI через roo для отношений «один ко многим». В частности, мне понадобится элемент множественного выбора, чтобы выбрать среди полномочий (весеннюю безопасность) для связи с пользователем.Взаимодействие Spring roo и One-To-Many в генерации графического интерфейса
Я создал RegisteredUser класс:
@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class RegisteredUser extends MyUser implements UserDetails,
CredentialsContainer {
private String password;
private String username;
private Boolean enabled = true;
private Boolean accountNonExpired = true;
private Boolean credentialsNonExpired = true;
private Boolean accountNonLocked = true;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Set<MyBaseAuthority> authorities = new HashSet<MyBaseAuthority>();
@Override
public void eraseCredentials() {
password = null;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return authorities;
}
@Override
public String getPassword() {
return password;
}
@Override
public String getUsername() {
return username;
}
@Override
public boolean isAccountNonExpired() {
return accountNonExpired;
}
@Override
public boolean isAccountNonLocked() {
return accountNonLocked;
}
@Override
public boolean isCredentialsNonExpired() {
return credentialsNonExpired;
}
@Override
public boolean isEnabled() {
return enabled;
}
}
Тогда MyBaseAuthority класс:
@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class MyBaseAuthority extends ObjectWithId implements
GrantedAuthority {
private String authority;
@Override
public String getAuthority() {
return authority;
}
}
Тогда я должен был вручную создать контроллер для MyBaseAuthority, но не для RegisteredUser (генерируется webmvc командой):
@RequestMapping("/registeredusers")
@Controller
@RooWebScaffold(path = "registeredusers", formBackingObject = RegisteredUser.class)
public class RegisteredUserController {
}
@RequestMapping("/authorities")
@Controller
@RooWebScaffold(path = "authorities", formBackingObject = MyBaseAuthority.class)
public class MyBaseAuthorityController {
}
В GUI я могу создать и перечислить все полномочия и d зарегистрированных пользователей. Однако при создании зарегистрированного пользователя я могу установить только строковые поля и логические поля, но не отношения «один ко многим». Как я могу это исправить?
Прошло некоторое время с тех пор, как я использовал готовый графический интерфейс от Roo, но если память служит мне, он генерирует «один-ко-многим» со стороны * Много *, поэтому вы сможете перейти к все * Много * s и выбирают один и тот же Один снова и снова. – CodeChimp