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