Обновление значения в таблице на основе ассоциации внешнего ключа весной jpa - PullRequest
0 голосов
/ 20 октября 2018

У меня есть две таблицы.Таблица 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 of: com.bus.api.entity.MerchantsSdkConfig [update com.bus.api.entity.MerchantsSdkConfig u set u.applicationId =? 1, где u.merchantId =? 2]

1 Ответ

0 голосов
/ 21 октября 2018
@Modifying
@Query("update MerchantsSdkConfig u set u.applicationId = ?1 where u.merchant.id = ?2")
public int updateApplicationId(String applicationId, Long merchantId);

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...