1
Я пытаюсь построить запрос, который возвращает все ToDoItems
от прошедшего User
(хочу передать авторизовалось User
) с помощью JPQL
.Создание запроса JPQL в CrudRepository
Вот мои вещи до сих пор не знаю, как построить его именно:
public interface UserRepository extends CrudRepository<User, Long> {
@Query(" from User u ")
public Iterable<ToDoItem> findAllToDosForLoggedInUser(@Param("user") User user);
}
Вот мои юридические лица (опущенные инкубационных и геттеров): ToDoItem.java
@Entity
@Table (name = "TO_DO_ITEM")
public class ToDoItem extends BaseEntity {
@Column(name = "TITLE", nullable = false)
private String title;
@Column(name = "COMPLETED")
private boolean completed;
@Column(name = "DUE_DATE", nullable = false)
@Temporal(TemporalType.DATE)
protected Calendar dueDate;
// a ToDoItem is only associated with one user
@ManyToOne(cascade=CascadeType.PERSIST)
@JoinColumn(name = "USER_ID")
private User user;
// JPA demands empty contructor
public ToDoItem() {}
public ToDoItem(User user, String title, Calendar dueDate) {
this.user = user;
this.title = title;
this.dueDate = dueDate;
}
}
User.java
@Entity
@Table (name = "USERS")
public class User extends BaseEntity {
@Column(name = "USERNAME")
private String username;
@Column(name = "PASSWORD")
private String password;
@Column(name = "EMAIL")
private String email;
// user can have many ToDoItems
@OneToMany(cascade = CascadeType.ALL)
private Set<ToDoItem> toDoItems;
// JPA demands empty constructor
public User() {}
public User(String username, String password, String email) {
this.username = username;
this.password = password;
this.email = email;
}
}
Может ли кто-нибудь проверить, правильны ли мои сущности?
IntelliJ higjlights пользователя в этом запросе и говорит: «он не может решить, что символ» и Я не могу проверить это сейчас, если он работает - IntelliJ просто ошибается или это неверно? – doublemc
У меня есть версия 2016, и я получаю много неправильных синтаксических ошибок в этих запросах. Всегда лучше всего запускать код и видеть, что происходит –