Actualizarea valorii în tabelul bazat pe asocierea cheie externă în JPA de primăvară

voturi
0

Am două tabele. Tabelul A

@Entity
public class MerchantsInfo implements Serializable {

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

    private String firstName;

    private String lastName;
}

Tabelul 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;
}

Acum , vreau să actualizeze applicationIdîn tabelul B , prin cheia externă merchantId. Am încercat cu următorul text

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

Dar am în continuare această eroare de mai jos

nu a putut rezolva proprietatea: MERCHANTID de: com.bus.api.entity.MerchantsSdkConfig [update com.bus.api.entity.MerchantsSdkConfig u set u.applicationId = 1 în cazul în care u.merchantId = 2?]

Întrebat 20/10/2018 la 12:59
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
0

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

Datorită comentariilor cu privire la problema. Am fost în stare să rezolve următoarele cu cele de mai sus.

Se pare că am avut de referință / accesa tabelul mapate, înainte de a ajunge la coloana am nevoie.

Publicat 21/10/2018 la 05:07
sursa de către utilizator

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