У меня есть этот код:
@Table(name = "contact_supplier_function")
@Entity
public class ContactSupplierFunctionEntity implements Serializable {
private static final long serialVersionUID = 3969992836064953905L;
@EmbeddedId
private ContactSupplierFunctionEntityPk contactSupplierFunctionId;
public ContactSupplierFunctionEntityPk getContactSupplierFunctionId() {
return contactSupplierFunctionId;
}
public void setContactSupplierFunctionId(ContactSupplierFunctionEntityPk contactSupplierFunctionId) {
this.contactSupplierFunctionId = contactSupplierFunctionId;
}
}
@Embeddable
public class ContactSupplierFunctionEntityPk implements Serializable {
private static final long serialVersionUID = -1343896399377494969L;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "supplier_id ", nullable = false)
private SupplierEntity supplier;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "function_id", nullable = false)
private FunctionEntity function;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "contact_id", nullable = false)
private ContactEntity contact;
public SupplierEntity getSupplier() {
return supplier;
}
public void setSupplier(SupplierEntity supplier) {
this.supplier = supplier;
}
public FunctionEntity getFunction() {
return function;
}
public void setFunction(FunctionEntity function) {
this.function = function;
}
public ContactEntity getContact() {
return contact;
}
public void setContact(ContactEntity contact) {
this.contact = contact;
}
}
@Repository
public interface ContactSupplierFunctionDAO extends CrudRepository<ContactSupplierFunctionEntity, ContactSupplierFunctionEntityPk> {
@EntityGraph(attributePaths = { "contactSupplierFunctionId.function" })
List<ContactSupplierFunctionEntity> findByContactSupplierFunctionIdContactIdAndContactSupplierFunctionIdSupplierIdIn(
Long contactId, List<Long> supplierIds);
}
Я хотел бы загрузить данные моего составного первичного ключа с @EntityGraph
в моем хранилище, потому что я не хочу помещать их в Fetch.EAGER
.
Но у меня есть эта ошибка:
сгенерировано исключение [Ошибка обработки запроса; вложенное исключение - org.springframework.dao.InvalidDataAccessApiUsageException: атрибут [contactSupplierFunctionId] не относится к управляемому типу; Вложенное исключение - java.lang.IllegalArgumentException: Атрибут [contactSupplierFunctionId] не относится к управляемому типу] с основной причиной
java.lang.IllegalArgumentException: атрибут [contactSupplierFunctionId] не имеет управляемого типа
Можно ли сделать это с помощью @EntityGraph
?
У вас есть другое решение?
Спасибо