URI REST de dados de primavera versus ID de entidade

O Spring Data REST (e Spring HATEOAS em particular) desacopla IDs RESTful (URIs) de IDs de entidade e estou tendo problemas para vinculá-los ao salvar novos objetos. Veja a discussão interessante sobre este desacoplamento emhttps://github.com/SpringSource/spring-data-rest/issues/13.

Suponha que um aplicativo cliente queira criar um novoTicket recurso com um associadoTicketCategory recurso. Eu quero postar oTicket contra um ponto de extremidade REST do Spring Data remoto. oTicket ainda não tem um ID, pois é novo. oTicketCategory tem um ID, mas no cliente é um URI de acordo com a discussão acima. Então, quando eu salvar oTicket, Spring Data REST passa oTicket para Spring Data JPA, que não gosta: Spring Data JPA acha que oTicketCategory- sem ID de entidade - é transitório:

org.hibernate.TransientPropertyValueException:
    Not-null property references a transient value -
    transient instance must be saved before current operation:
    com.springinpractice.ch13.helpdesk.model.Ticket.category ->
    com.springinpractice.ch13.helpdesk.model.TicketCategory

ATUALIZAR: A documentação em

https://github.com/SpringSource/spring-data-rest/wiki/JPA-Repository-REST-Exporter

tem uma seção chamada "Atualizando relacionamentos" que descreve um esquema usando HTTP POST para estabelecer relacionamentos entre entidades. Não sei se essa é a única abordagem atualmente disponível, mas parece que essa abordagem exigiria deixar a associação nula na postagem inicial e, em seguida, atualizá-la com uma postagem subsequente. No caso acima, isso seria indesejável, já que o campo de categoria é obrigatório (@NotNull) para bilhetes.

questionAnswers(2)

yourAnswerToTheQuestion