Обновите столбец в одной таблице, когда он связан с другой таблицей в спящем режиме - PullRequest
0 голосов
/ 11 июня 2019

Я хочу обновить адресную колонку в классе User, используя HQL. address_id связан с Address, используя структуру, показанную ниже. Я хочу помочь, как это сделать с помощью HQL.

 class User{
    int id;
    String firstName;
    String lastName;

    @OneToOne
    @JoinColumn(name="address_id")
    @NotFound(action = NotFoundAction.IGNORE)
    private Address  address ;
}

class Address{
    @Id
    @Column(name="address_id")
    int address_id;
    String city;
    String state;   
}

Так выглядит мой HQl-запрос, но я не уверен, как передать весь объект в качестве параметра запроса

String hql = "update from User set id= null where address=:address ";

1 Ответ

1 голос
/ 11 июня 2019

Вы можете использовать аннотации @Query и @Modifying

Получить адрес объекта по,

Address address = select address from address where address.id=XYZ 

и последний используют address объект, как вы хотите. то есть.

@Modifying
@Query("update from User set id= null where address=?1";
void updateAddress(address);
// fyi here ?1 rectifies argument id 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...