Atualização valor na tabela com base na associação de chave estrangeira no jpa spring

votos
0

Eu tenho duas mesas. tabela A

@Entity
public class MerchantsInfo implements Serializable {

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

    private String firstName;

    private String lastName;
}

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

Agora eu quero atualizar applicationIdna Tabela B através da chave estrangeira merchantId. Eu tentei o seguinte

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

Mas eu continuo recebendo o erro abaixo

não poderia resolver propriedade: merchantId de: com.bus.api.entity.MerchantsSdkConfig [update com.bus.api.entity.MerchantsSdkConfig definir u u.applicationId = 1 onde u.merchantId = 2?]

Publicado 20/10/2018 em 13:59
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

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

Graças aos comentários sobre a questão. Eu era capaz de resolver o seguinte com o acima exposto.

Aparentemente eu tinha para fazer referência / acessar a tabela mapeada, antes de chegar à coluna que eu precisava.

Respondeu 21/10/2018 em 06:07
fonte usuário

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