我有点困惑。我通过native-select语句
从数据库中获得结果TypedQuery<User> query = entityManager.createQuery(
"SELECT i FROM User i", User.class);
result = query.getFirstResult;
具有User_created和user_updated作为属性的用户。结果看起来很好(整个user_created和user_updated属性),但是如果我使用
String entity = objectMapper.writerWithView(v).writeValueAsString(result);
实体看起来像:
"user_created": {
"@id": 1,
"id": 11737,
"fullname": "Max Mustermann",
"email": "max.mustermann@gmx.de",
"username": "maxi"
},
"user_updated": 1,
它应该像这样:
"user_created": {
"@id": 1,
"id": 11737,
"fullname": "Max Mustermann",
"email": "max.mustermann@gmx.de",
"username": "maxi"
},
"user_updated": {
"@id": 1,
"id": 11737,
"fullname": "Max Mustermann",
"email": "max.mustermann@gmx.de",
"username": "maxi"
},
如果我在同一结果上有两个不同的用户用于user_updated和user_created,则结果看起来应该像这样:
"user_created": {
"@id": 1,
"id": 11737,
"fullname": "Max Mustermann",
"email": "max.mustermann@gmx.de",
"username": "maxi"
},
"user_updated": {
"@id": 1,
"id": 4172,
"fullname": "Simone Musterfrau",
"email": "simone.musterfrau@gmx.de",
"username": "simi"
},
也许有一个结果相同的问题?就像我说的那样,SELECT查询后的结果看起来应该如何。
我发现了中心问题。在我的实体上,我使用
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id", scope = User.class)
但是我的实体需要这个。也许有人可以告诉我,如果对象映射器有任何对象,或者我可以向实体添加一些属性。