Обновление Значение в таблице на основе внешнего ключа ассоциации в весеннем JPA

голоса
0

У меня есть две таблицы. Таблица A

@Entity
public class MerchantsInfo implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String firstName;

    private String lastName;
}

Таблица B

@Entity
public class MerchantsSdkConfig implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @JoinColumn( name = merchantId)
    @ManyToOne(fetch = FetchType.LAZY)
    private MerchantsInfo merchant;


    private String applicationId;
}

Теперь я хочу , чтобы обновить applicationIdв таблице B через внешний ключ merchantId. Я попытался следующие

@Modifying
@Query(update MerchantsSdkConfig u set u.applicationId = ?1 where u.merchantId = ?2)
public int updateApplicationId(String applicationId, Long merchantId);

Но я получаю ошибку ниже

не может решить свойство: merchantId из: com.bus.api.entity.MerchantsSdkConfig [обновление com.bus.api.entity.MerchantsSdkConfig у установить u.applicationId = 1, где u.merchantId = 2?]

Задан 20/10/2018 в 13:59
источник пользователем
На других языках...                            


1 ответов

голоса
0

@Modifying
@Query("update MerchantsSdkConfig u set u.applicationId = ?1 where u.merchant.id = ?2")
public int updateApplicationId(String applicationId, Long merchantId);

Благодаря комментарии по этому вопросу. Я был в состоянии решить следующие с вышесказанным.

Видимо, я должен был ссылаться / доступом к подключенной таблице, прежде чем попасть в колонку мне нужно.

Ответил 21/10/2018 в 06:07
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more