Java JPA - OneToOne relation breaks after updating
I have two tables (entities) named User
and Profile
in JPA what are syncing with MySQL database. Relation between them is OneToOne
and bidirectional.
Here is how I made relation in model:
User:
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, optional = false)
private Profile profile;
Profile:
@OneToOne(cascade = CascadeType.ALL, mappedBy = "profile", optional = false)
private User user;
I am building REST API and my problem is when I update profile by his ID from controller.
Before I update data in Profile
I am able to getUser
from this profile.
After I update data in Profile
(by profileService.update(profile);
) I am not able to getUser
for this profile.
Seems like the relation was broken.
In database there is no USER_ID on Profile
table, just table 'User' have PROFILE_ID column.
Relation is working fine until I update it.
java spring jpa
|
show 3 more comments
I have two tables (entities) named User
and Profile
in JPA what are syncing with MySQL database. Relation between them is OneToOne
and bidirectional.
Here is how I made relation in model:
User:
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, optional = false)
private Profile profile;
Profile:
@OneToOne(cascade = CascadeType.ALL, mappedBy = "profile", optional = false)
private User user;
I am building REST API and my problem is when I update profile by his ID from controller.
Before I update data in Profile
I am able to getUser
from this profile.
After I update data in Profile
(by profileService.update(profile);
) I am not able to getUser
for this profile.
Seems like the relation was broken.
In database there is no USER_ID on Profile
table, just table 'User' have PROFILE_ID column.
Relation is working fine until I update it.
java spring jpa
Can you create a Minimal, Complete, and Verifiable Example? Having more code might help us find what's wrong, but having too much can be harmful.
– dquijada
Dec 27 '18 at 16:46
@dquijada I know but I cannot post even minimal example. It will be very large, because its big Spring REST project
– Baterka
Dec 27 '18 at 16:47
Did you check if the relation persists on the database? It might be an example of you unintentionally modifying data before calling the.update
– dquijada
Dec 27 '18 at 16:51
@dquijada 'User' table still have 'PROFILE_ID' set. But it stop working in other direction
– Baterka
Dec 27 '18 at 16:53
Can you share the code of how you update the entity?
– Aditya Narayan Dixit
Dec 27 '18 at 17:04
|
show 3 more comments
I have two tables (entities) named User
and Profile
in JPA what are syncing with MySQL database. Relation between them is OneToOne
and bidirectional.
Here is how I made relation in model:
User:
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, optional = false)
private Profile profile;
Profile:
@OneToOne(cascade = CascadeType.ALL, mappedBy = "profile", optional = false)
private User user;
I am building REST API and my problem is when I update profile by his ID from controller.
Before I update data in Profile
I am able to getUser
from this profile.
After I update data in Profile
(by profileService.update(profile);
) I am not able to getUser
for this profile.
Seems like the relation was broken.
In database there is no USER_ID on Profile
table, just table 'User' have PROFILE_ID column.
Relation is working fine until I update it.
java spring jpa
I have two tables (entities) named User
and Profile
in JPA what are syncing with MySQL database. Relation between them is OneToOne
and bidirectional.
Here is how I made relation in model:
User:
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, optional = false)
private Profile profile;
Profile:
@OneToOne(cascade = CascadeType.ALL, mappedBy = "profile", optional = false)
private User user;
I am building REST API and my problem is when I update profile by his ID from controller.
Before I update data in Profile
I am able to getUser
from this profile.
After I update data in Profile
(by profileService.update(profile);
) I am not able to getUser
for this profile.
Seems like the relation was broken.
In database there is no USER_ID on Profile
table, just table 'User' have PROFILE_ID column.
Relation is working fine until I update it.
java spring jpa
java spring jpa
asked Dec 27 '18 at 16:33
Baterka
218
218
Can you create a Minimal, Complete, and Verifiable Example? Having more code might help us find what's wrong, but having too much can be harmful.
– dquijada
Dec 27 '18 at 16:46
@dquijada I know but I cannot post even minimal example. It will be very large, because its big Spring REST project
– Baterka
Dec 27 '18 at 16:47
Did you check if the relation persists on the database? It might be an example of you unintentionally modifying data before calling the.update
– dquijada
Dec 27 '18 at 16:51
@dquijada 'User' table still have 'PROFILE_ID' set. But it stop working in other direction
– Baterka
Dec 27 '18 at 16:53
Can you share the code of how you update the entity?
– Aditya Narayan Dixit
Dec 27 '18 at 17:04
|
show 3 more comments
Can you create a Minimal, Complete, and Verifiable Example? Having more code might help us find what's wrong, but having too much can be harmful.
– dquijada
Dec 27 '18 at 16:46
@dquijada I know but I cannot post even minimal example. It will be very large, because its big Spring REST project
– Baterka
Dec 27 '18 at 16:47
Did you check if the relation persists on the database? It might be an example of you unintentionally modifying data before calling the.update
– dquijada
Dec 27 '18 at 16:51
@dquijada 'User' table still have 'PROFILE_ID' set. But it stop working in other direction
– Baterka
Dec 27 '18 at 16:53
Can you share the code of how you update the entity?
– Aditya Narayan Dixit
Dec 27 '18 at 17:04
Can you create a Minimal, Complete, and Verifiable Example? Having more code might help us find what's wrong, but having too much can be harmful.
– dquijada
Dec 27 '18 at 16:46
Can you create a Minimal, Complete, and Verifiable Example? Having more code might help us find what's wrong, but having too much can be harmful.
– dquijada
Dec 27 '18 at 16:46
@dquijada I know but I cannot post even minimal example. It will be very large, because its big Spring REST project
– Baterka
Dec 27 '18 at 16:47
@dquijada I know but I cannot post even minimal example. It will be very large, because its big Spring REST project
– Baterka
Dec 27 '18 at 16:47
Did you check if the relation persists on the database? It might be an example of you unintentionally modifying data before calling the
.update
– dquijada
Dec 27 '18 at 16:51
Did you check if the relation persists on the database? It might be an example of you unintentionally modifying data before calling the
.update
– dquijada
Dec 27 '18 at 16:51
@dquijada 'User' table still have 'PROFILE_ID' set. But it stop working in other direction
– Baterka
Dec 27 '18 at 16:53
@dquijada 'User' table still have 'PROFILE_ID' set. But it stop working in other direction
– Baterka
Dec 27 '18 at 16:53
Can you share the code of how you update the entity?
– Aditya Narayan Dixit
Dec 27 '18 at 17:04
Can you share the code of how you update the entity?
– Aditya Narayan Dixit
Dec 27 '18 at 17:04
|
show 3 more comments
1 Answer
1
active
oldest
votes
I fixed problem.
It was caused by not setting User into Profile before updating, because 'dao.update()' just replacing data, not actually updating them.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53948093%2fjava-jpa-onetoone-relation-breaks-after-updating%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I fixed problem.
It was caused by not setting User into Profile before updating, because 'dao.update()' just replacing data, not actually updating them.
add a comment |
I fixed problem.
It was caused by not setting User into Profile before updating, because 'dao.update()' just replacing data, not actually updating them.
add a comment |
I fixed problem.
It was caused by not setting User into Profile before updating, because 'dao.update()' just replacing data, not actually updating them.
I fixed problem.
It was caused by not setting User into Profile before updating, because 'dao.update()' just replacing data, not actually updating them.
answered Dec 27 '18 at 17:45
Baterka
218
218
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53948093%2fjava-jpa-onetoone-relation-breaks-after-updating%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you create a Minimal, Complete, and Verifiable Example? Having more code might help us find what's wrong, but having too much can be harmful.
– dquijada
Dec 27 '18 at 16:46
@dquijada I know but I cannot post even minimal example. It will be very large, because its big Spring REST project
– Baterka
Dec 27 '18 at 16:47
Did you check if the relation persists on the database? It might be an example of you unintentionally modifying data before calling the
.update
– dquijada
Dec 27 '18 at 16:51
@dquijada 'User' table still have 'PROFILE_ID' set. But it stop working in other direction
– Baterka
Dec 27 '18 at 16:53
Can you share the code of how you update the entity?
– Aditya Narayan Dixit
Dec 27 '18 at 17:04