Как создать LEFT JOIN в JpaRepository?
Есть две таблицы
CREATE TABLE IF NOT EXISTS `users`(
`id` int(10) NOT NULL auto_increment,
`name` varchar (255) NOT NULL,
`age` int(2) NOT NULL
);
CREATE TABLE IF NOT EXISTS `posts`(
`id` int(10) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`user_id` int(10)
);
Сущность User
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
Сущность Post
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "user_id")
private int userId;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
В JpaRepository создаю query
public interface UsersRepository extends JpaRepository<User, Long> {
@Query("SELECT u.id, u.name, u.age FROM users AS u LEFT JOIN post AS p ON u.id=p.user_id WHERE p.user_id IS NULL")
List<User> findByStatus();
}
Выдает ошибку users not mapped. Мне нужен такой селект с left joinом
SELECT u.id, u.name, u.age FROM users AS u LEFT JOIN post AS p ON u.id=p.user_id WHERE p.user_id IS NULL