spring jpa projection не работает с manyToMany?

@Data
@Table(name = "USERS")
@Entity
@AllArgsConstructor
@NoArgsConstructor
public class User{
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USER_SEQ1")
    @SequenceGenerator(name = "USER_SEQ1", sequenceName = "USER_SEQ", allocationSize = 1)
    @Column(name = "ID")
    private Long id;

    @Column(name = "ACCOUNT")
    private Integer account;

    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "USERS_CHATS", joinColumns = @JoinColumn(name = "USER_ID"), inverseJoinColumns = @JoinColumn(name = "CHAT_ID"))
    private Collection<Chat> userChats;
}


@Data
@Table(name = "CHATS")
@Entity
@AllArgsConstructor
@NoArgsConstructor
public class Chat {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CHAT_SEQ1")
    @SequenceGenerator(name = "CHAT_SEQ1", sequenceName = "CHAT_SEQ", allocationSize = 1)
    @Column(name = "ID")
    private Long id;

    @Column(name = "CHAT_ID")
    private Long chatId;

    @Column(name = "DATE")
    @Temporal(TemporalType.DATE)
    private Date date;

    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "USERS_CHATS", joinColumns = @JoinColumn(name = "CHAT_ID"), inverseJoinColumns = @JoinColumn(name = "USER_ID"))
    private Collection<User> chatUsers;
}

public interface UserChat {
    Integer getAccount();
    Collection<Chat> getUserChats();
}

public interface UserDao extends JpaRepository<User, Long> {
    Collection<UserChat> ??? 
}

собственно а какой метод в JPA позволит получить Collection ? IDEA в подсказках показывает только фильтры. А мне нужны все.

чтото типа

select u.account, c.id, c.chat_id, c.date
from users u
inner join users_chats uc on u.id = uc.user_id
inner join chats c on uc.chat_id = c.id

Ответы (0 шт):