Issue with Map in JPA
I have the following field in my entity
@ManyToMany
@JoinTable(
name = "licensingpolicy_eulamatches"
)
Map<String, EULADocument> eulaMatches = new HashMap<String, EULADocument>();
I use JPA 2.0 with EclipseLink.
The table generated has a unique key constraint on the ID of the entity and the ID of the EULADocument (the value in the map) entity. This is wrong as I could certainly have several times the same EULADocument in my hashmap. I can modify the table definition but I would prefer if there was a more standard way of doing it.
(I could use an element collection but I would have to invert the key and value types and I'd rather not if possible)
jpa eclipselink
add a comment |
I have the following field in my entity
@ManyToMany
@JoinTable(
name = "licensingpolicy_eulamatches"
)
Map<String, EULADocument> eulaMatches = new HashMap<String, EULADocument>();
I use JPA 2.0 with EclipseLink.
The table generated has a unique key constraint on the ID of the entity and the ID of the EULADocument (the value in the map) entity. This is wrong as I could certainly have several times the same EULADocument in my hashmap. I can modify the table definition but I would prefer if there was a more standard way of doing it.
(I could use an element collection but I would have to invert the key and value types and I'd rather not if possible)
jpa eclipselink
So raise a bug on your JPA provider ... a unique constraint on id + value is dumb.
– Billy Frost
21 hours ago
I just tried with two entities as well, and same issue, the constraints on the tables generated don't make any sense to me. I must be missing some annotation...
– Thomas
17 hours ago
1
OK, so the behaviour seems to be that the unique key constraint is applied to the hashmap values instead of the key, this seems wrong to me, as the only thing that would make sense is to have a unique parent/key combination indeed.
– Thomas
17 hours ago
Well... after some digging, it appears to be a known bug, since 2011, not fixed yet bugs.eclipse.org/bugs/show_bug.cgi?id=344448. I will vote for it, hopefully it will get some attention.
– Thomas
10 hours ago
add a comment |
I have the following field in my entity
@ManyToMany
@JoinTable(
name = "licensingpolicy_eulamatches"
)
Map<String, EULADocument> eulaMatches = new HashMap<String, EULADocument>();
I use JPA 2.0 with EclipseLink.
The table generated has a unique key constraint on the ID of the entity and the ID of the EULADocument (the value in the map) entity. This is wrong as I could certainly have several times the same EULADocument in my hashmap. I can modify the table definition but I would prefer if there was a more standard way of doing it.
(I could use an element collection but I would have to invert the key and value types and I'd rather not if possible)
jpa eclipselink
I have the following field in my entity
@ManyToMany
@JoinTable(
name = "licensingpolicy_eulamatches"
)
Map<String, EULADocument> eulaMatches = new HashMap<String, EULADocument>();
I use JPA 2.0 with EclipseLink.
The table generated has a unique key constraint on the ID of the entity and the ID of the EULADocument (the value in the map) entity. This is wrong as I could certainly have several times the same EULADocument in my hashmap. I can modify the table definition but I would prefer if there was a more standard way of doing it.
(I could use an element collection but I would have to invert the key and value types and I'd rather not if possible)
jpa eclipselink
jpa eclipselink
asked 22 hours ago
Thomas
7221717
7221717
So raise a bug on your JPA provider ... a unique constraint on id + value is dumb.
– Billy Frost
21 hours ago
I just tried with two entities as well, and same issue, the constraints on the tables generated don't make any sense to me. I must be missing some annotation...
– Thomas
17 hours ago
1
OK, so the behaviour seems to be that the unique key constraint is applied to the hashmap values instead of the key, this seems wrong to me, as the only thing that would make sense is to have a unique parent/key combination indeed.
– Thomas
17 hours ago
Well... after some digging, it appears to be a known bug, since 2011, not fixed yet bugs.eclipse.org/bugs/show_bug.cgi?id=344448. I will vote for it, hopefully it will get some attention.
– Thomas
10 hours ago
add a comment |
So raise a bug on your JPA provider ... a unique constraint on id + value is dumb.
– Billy Frost
21 hours ago
I just tried with two entities as well, and same issue, the constraints on the tables generated don't make any sense to me. I must be missing some annotation...
– Thomas
17 hours ago
1
OK, so the behaviour seems to be that the unique key constraint is applied to the hashmap values instead of the key, this seems wrong to me, as the only thing that would make sense is to have a unique parent/key combination indeed.
– Thomas
17 hours ago
Well... after some digging, it appears to be a known bug, since 2011, not fixed yet bugs.eclipse.org/bugs/show_bug.cgi?id=344448. I will vote for it, hopefully it will get some attention.
– Thomas
10 hours ago
So raise a bug on your JPA provider ... a unique constraint on id + value is dumb.
– Billy Frost
21 hours ago
So raise a bug on your JPA provider ... a unique constraint on id + value is dumb.
– Billy Frost
21 hours ago
I just tried with two entities as well, and same issue, the constraints on the tables generated don't make any sense to me. I must be missing some annotation...
– Thomas
17 hours ago
I just tried with two entities as well, and same issue, the constraints on the tables generated don't make any sense to me. I must be missing some annotation...
– Thomas
17 hours ago
1
1
OK, so the behaviour seems to be that the unique key constraint is applied to the hashmap values instead of the key, this seems wrong to me, as the only thing that would make sense is to have a unique parent/key combination indeed.
– Thomas
17 hours ago
OK, so the behaviour seems to be that the unique key constraint is applied to the hashmap values instead of the key, this seems wrong to me, as the only thing that would make sense is to have a unique parent/key combination indeed.
– Thomas
17 hours ago
Well... after some digging, it appears to be a known bug, since 2011, not fixed yet bugs.eclipse.org/bugs/show_bug.cgi?id=344448. I will vote for it, hopefully it will get some attention.
– Thomas
10 hours ago
Well... after some digging, it appears to be a known bug, since 2011, not fixed yet bugs.eclipse.org/bugs/show_bug.cgi?id=344448. I will vote for it, hopefully it will get some attention.
– Thomas
10 hours ago
add a comment |
active
oldest
votes
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%2f53943172%2fissue-with-mapstring-entity-in-jpa%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f53943172%2fissue-with-mapstring-entity-in-jpa%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
So raise a bug on your JPA provider ... a unique constraint on id + value is dumb.
– Billy Frost
21 hours ago
I just tried with two entities as well, and same issue, the constraints on the tables generated don't make any sense to me. I must be missing some annotation...
– Thomas
17 hours ago
1
OK, so the behaviour seems to be that the unique key constraint is applied to the hashmap values instead of the key, this seems wrong to me, as the only thing that would make sense is to have a unique parent/key combination indeed.
– Thomas
17 hours ago
Well... after some digging, it appears to be a known bug, since 2011, not fixed yet bugs.eclipse.org/bugs/show_bug.cgi?id=344448. I will vote for it, hopefully it will get some attention.
– Thomas
10 hours ago