java - Spring JPA Repository ony fetches id instead of full object when it's already in result -
in springboot rest application, have 2 classes follows:
user.java , message.java.
message has -from- field (user) , -to- of type (user).
so i've made this:
in user.java:
@entity @jsonidentityinfo(generator=objectidgenerators.propertygenerator.class, property="id") public class user { @id @generatedvalue(strategy = generationtype.identity) private integer id; private string firstname; private string lastname; private string email; @jsonignore @onetomany(mappedby = "to") private list<message> receivedmessages; @onetoone @joincolumn(name = "type") private usertype type;
in message.java:
@entity public class message { @id @generatedvalue(strategy= generationtype.identity) private integer id; @manytoone @joincolumn(name = "from_user_id") private user from; @manytoone @joincolumn(name = "to_user_id") private user to; private string subject; private string message; private date senttime; private date readtime; private integer replyto; (setters & getters, etc)
and apparently works! -but- let's have 3 messages, , first 2 of them went sent same user, first of 2 comes full user object , seconds it's id, follows:
[ { "id": 16, "from": { "id": 1, "firstname": "ale", "lastname": null, "email": "axfeea@gmail.com", "username": null, "password": "123456", "avatar": "https://..............jpg", "type": null }, "to": 1, "subject": "sub", "message": "hola", "senttime": null, "readtime": null, "replyto": null }, { "id": 17, "from": { "id": 2, "firstname": "carlos", "lastname": "perez", "email": "efefe@fefe.com", "username": null, "password": "fe", "avatar": "https://..................jpg", "type": null }, "to": 1, "subject": "sub1", "message": "chau", "senttime": null, "readtime": null, "replyto": null }, { "id": 18, "from": 2, "to": 1, "subject": "efefae", "message": "oooook", "senttime": 1503249653000, "readtime": null, "replyto": null }
]
and if 3rd message comes non-repeated user comes full object.
i need full object come always.
and -btw- in database , same way.
any ideas?
thank in advance!
since have specified annotation jsonidentityinfo
, jackson serializes objects in resulting json.
the javadoc of annotation specifies:
in practice done serializing first instance full object , object identity, , other references object reference values.
so if don't want behaviour, remove annotation.
Comments
Post a Comment