-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Labels
type: regressionA regression from a previous releaseA regression from a previous release
Milestone
Description
I am seeing this error with spring-data 3.5.0:
INFO [2025-05-19 17:36:30,602] [] [kafka-producer-network-thread | producer-2] org.apache.kafka.clients.producer.internals.TransactionManager: [Producer clientId=producer-2] ProducerId set to 1 with epoch 0
java.lang.IllegalArgumentException: org.hibernate.query.SyntaxException: At 1:50 and token ')', no viable alternative at input 'SELECT new com.adswizz.domain.entity.CampaignDeal(*) FROM CampaignDeal cd LEFT JOIN FETCH cd.dealLibrary d LEFT JOIN FETCH d.publisher p WHERE cd.campaignId = :campaignId' [SELECT new com.adswizz.domain.entity.CampaignDeal() FROM CampaignDeal cd LEFT JOIN FETCH cd.dealLibrary d LEFT JOIN FETCH d.publisher p WHERE cd.campaignId = :campaignId]
when running the following query:
@Query("SELECT cd FROM CampaignDeal cd "
+ "LEFT JOIN FETCH cd.dealLibrary d "
+ "LEFT JOIN FETCH d.publisher p "
+ "WHERE cd.campaignId = :campaignId")`
List<CampaignDeal> findCampaignDealsForCampaign(Integer campaignId);
The entity definition is:
@Entity
@Table(name = "campaign_deals")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CampaignDeal {
@EmbeddedId
private CampaignDealId campaignDealId;
@Column(name = "campaign_id", insertable = false, updatable = false)
private Integer campaignId;
@Column(name = "deal_library_id")
private Integer dealLibraryId;
@ToString.Exclude
@EqualsAndHashCode.Exclude
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "deal_library_id", updatable = false, insertable = false, referencedColumnName = "id")
private Deal dealLibrary;
@Column(name = "publisher_id")
private Integer publisherId;
@ToString.Exclude
@EqualsAndHashCode.Exclude
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "publisher_id", updatable = false, referencedColumnName = "affiliateid", insertable = false)
private Publisher publisher;
@Column(name = "type")
@Enumerated(EnumType.STRING)
private Type type;
@Embeddable
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public static class CampaignDealId implements Serializable {
private static final long serialVersionUID = 5373763488252554888L;
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Campaign.class)
@JoinColumn(name = "campaign_id")
@ToString.Exclude
@EqualsAndHashCode.Exclude
private Campaign campaign;
@Column(name = "deal_id") //the dealID string, not the fk to deal_library
private String dealId;
}
public enum Type {
STRING,
LIBRARY
}
}
This used to work just fine until upgrading to the 3.5.0 version.
cpy-xcend, pw-lehre, tongtongzheng1973, kevinm416, pp7En and 11 more
Metadata
Metadata
Assignees
Labels
type: regressionA regression from a previous releaseA regression from a previous release