Я новичок в загрузке Spring, особенно для Spring Boot Data. JPA
Я хочу написать метод JPA без @Query
Я знаю, как выбирать через @Query.о чистых данных JPA-метод, такой как
Integer findByLevelPointBetweenSomethingAndSomething2 (Integer userId);
@Entity
@Table(name = "point")
public class Point {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "point_id", nullable = false)
private Integer pointId;
@Column(name = "user_id", nullable = false)
private Integer userId;
@Column(name = "point", nullable = false)
private Integer point;
@Column(name = "user_account_point_type_id", nullable = false)
private Integer pointTypeId;
@Column(name = "date_created", nullable = false)
private Date createdDate;
Это Point Entity, который сохраняет точку
и сущность Level
@Entity
@Table(name = "level", schema = "public")
public class Level {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "level_id", nullable = false)
private Integer levelId;
@Column(name = "user_id", nullable = false)
private Integer userId;
@Column(name = "level_type_id", nullable = false)
@JoinColumn(name ="level_type_id")
private Integer levelTypeId;
@Column(name = "reg_date", nullable = false)
private Date regDate;
и тип уровня состоит из 4-х типов (1-бронза / 2-серебро / 3-золото / 4-платина), и тип уровня проверяется при сохранении точки
иэто запрос, который я делаю
выбрать ult.level_type_id из уровня_уровня ult, где (выбрать сумму (up.point) из уровня ull, указать вверх, level_type ult, где ull.level_type_id = ult.level_type_id и ull.user_id= up.user_id и up.user_id = 73) между ult.level_start_point AND ult.level_end_point
результат является level_type в виде целочисленной формы
этот запрос, который я хочу сделать как JPA @Query () X!!!
НРАВИТСЯS @ Repository
public interface LevelTypeRepository extends
JpaRepository<LevelType,Integer> {
Integer findByLevelPointMaxBetweenLevelPointMinAndLevelPointMax(Integer
userId);
}
Однако он не работает и не знает, как объединить три таблицы с одним параметром. Более того, параметр (user_id) между level_start_point и level_end_point
Сложно ли выразить через JPA?