Мой User
объект следует:
@Entity
@Table
public class User {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "id", unique = true, insertable = true)
private String id;
// non relevant attributes
@ManyToMany(fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
@JoinTable(name = "user2userProfile",
joinColumns = @JoinColumn(name = "userId"),
inverseJoinColumns = @JoinColumn(name = "userProfileId"))
private Set<UserProfile> userProfileSet;
// getters and setters
}
Объект UserProfile
следует:
@Entity
@Table(name = "userProfile")
public class UserProfile {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "id", unique = true, insertable = true)
private String id;
@Column(name = "type", length = 15, unique = true, nullable = false)
private String type = UserProfileType.USER.getUserProfileType();
// constructors, getter and setter
}
Перечисление UserProfileType
равно
public enum UserProfileType {
USER("USER"),
READER("READER"),
WRITER("WRITER"),
ADMIN("ADMIN");
// constructor and getter
}
Мой UserJpaRepository
:
public interface UserJpaRepository extends JpaRepository<User, String> {
// non relevant code
List<User> findAllByUserProfileType(UserProfileType userProfileType);
}
В том виде, в каком он сейчас находится, я получаю следующее сообщение об ошибке на консоли:
org.springframework.data.mapping.PropertyReferenceException: No property userProfileType found for type User!
Что является правильнымобъявление UserJpaRepository
для получения списка пользователей, имеющих определенный UserProfileType (т. е. список всех пользователей, имеющих UserProfile типа READER)?