我有一个班级活动
@Entity
public class Event {
@Id // PrimaryKey
@GeneratedValue(strategy = GenerationType.AUTO)
private int event_id;
private String bezeichnung;
private Date startzeitpunkt;
private Date endzeitpunkt;
private boolean abgeschlossen;
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "event_unternehmen", joinColumns = @JoinColumn(name = "event_id"))
@Column(name = "unternehmen_id")
private Set<Integer> teilnehmendeUnternehmen;
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "event_studierender", joinColumns = @JoinColumn(name = "event_id"))
@Column(name = "student_id")
private Set<Integer> teilnehmendeStudierende;
我想获取所有 event_id 的列表,其中特定的 student_id 在 objectattribute teilnehmende_Studierende (Set)
我试过这样的事情:
@Query("SELECT e FROM Event e WHERE e.teilnehmendeStudierende=:userId")
List<Event> findByUserId(@Param("userId") int userId);
但它给了我以下错误:
原因:java.lang.IllegalArgumentException:参数值 [28] 与 deployment.speeddating-web-7.0-SNAPSHOT.war//org.hibernate.query 的预期类型 [java.util.Set (n/a)] 不匹配.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:54)