JPA em.find(id) works on Oracle but not on MariaDB
Hello I have an application which runs on JBoss EAP 7 with JPA Hibernate.
I have problems with a simple entityManager.find(id) call.
The call produces against an Oracle 12 database one SQL
select messagedat0_.id as id1_4_0_,
messagedat0_.messageid as messageid3_4_0_,
messagedat0_.messageblob as messageblob2_4_0_,
messagedat0_.messagetype as messagetype4_4_0_,
messagedat0_.retaintime as retaintime5_4_0_,
extractedv1_.messageid as messageid1_1_1_,
extractedv1_.absender as absender2_1_1_,
extractedv1_.empfaenger as empfaenger3_1_1_,
extractedv1_.nachrichtentyp as nachrichtentyp4_1_1_,
extractedv1_.uuid as uuid5_1_1_
from messagedata messagedat0_
left outer join ExtractedValues extractedv1_ on messagedat0_.messageid=extractedv1_.messageid
where messagedat0_.id=?
which returns the entity.
Against a MariaDB it produces TWO SELECTS
Hibernate:
select messagedat0_.id as id1_4_0_,
messagedat0_.messageid as messagei3_4_0_,
messagedat0_.messageblob as messageb2_4_0_,
messagedat0_.messagetype as messaget4_4_0_,
messagedat0_.retaintime as retainti5_4_0_,
extractedv1_.messageid as messagei1_1_1_,
extractedv1_.absender as absender2_1_1_,
extractedv1_.empfaenger as empfaeng3_1_1_,
extractedv1_.nachrichtentyp as nachrich4_1_1_,
extractedv1_.uuid as uuid5_1_1_
from messagedata messagedat0_
left outer join ExtractedValues extractedv1_ on messagedat0_.messageid=extractedv1_.messageid
where messagedat0_.id=?
2018-11-22 09:46:36,328 INFO [stdout] (default task-26) Hibernate:
select extractedv0_.messageid as messagei1_1_0_,
extractedv0_.absender as absender2_1_0_,
extractedv0_.empfaenger as empfaeng3_1_0_,
extractedv0_.nachrichtentyp as nachrich4_1_0_,
extractedv0_.uuid as uuid5_1_0_
from ExtractedValues extractedv0_ where extractedv0_.messageid=?
When I run the two selects manually the first Select does return a row the second not.
This causes the find Method to return NULL. Which is not the expected result in my opinion.
from the
Messagedata Entity:
@Id
private String id;
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="messageid", referencedColumnName="messageid", updatable=false)
private Set<Msginformation> msginformations;
@OneToMany
@JoinColumn(name="messageid", referencedColumnName="messageid")
private Set<Protocol> protocols;
@OneToMany
@JoinColumn(name="messageid", referencedColumnName="messageid")
private Set<Retry> retries;
@OneToOne
@JoinColumn(name="messageid", referencedColumnName="messageid", insertable=false, updatable=false)
private ExtractedValues extractedValues;
The OneToOne Relationship to ExtractedValues causes the problems on MariaDB.
I have tried to set
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
in persistence.xml, but this does not solve the problem.
I have no idea what to do about this…
oracle hibernate jpa mariadb
add a comment |
Hello I have an application which runs on JBoss EAP 7 with JPA Hibernate.
I have problems with a simple entityManager.find(id) call.
The call produces against an Oracle 12 database one SQL
select messagedat0_.id as id1_4_0_,
messagedat0_.messageid as messageid3_4_0_,
messagedat0_.messageblob as messageblob2_4_0_,
messagedat0_.messagetype as messagetype4_4_0_,
messagedat0_.retaintime as retaintime5_4_0_,
extractedv1_.messageid as messageid1_1_1_,
extractedv1_.absender as absender2_1_1_,
extractedv1_.empfaenger as empfaenger3_1_1_,
extractedv1_.nachrichtentyp as nachrichtentyp4_1_1_,
extractedv1_.uuid as uuid5_1_1_
from messagedata messagedat0_
left outer join ExtractedValues extractedv1_ on messagedat0_.messageid=extractedv1_.messageid
where messagedat0_.id=?
which returns the entity.
Against a MariaDB it produces TWO SELECTS
Hibernate:
select messagedat0_.id as id1_4_0_,
messagedat0_.messageid as messagei3_4_0_,
messagedat0_.messageblob as messageb2_4_0_,
messagedat0_.messagetype as messaget4_4_0_,
messagedat0_.retaintime as retainti5_4_0_,
extractedv1_.messageid as messagei1_1_1_,
extractedv1_.absender as absender2_1_1_,
extractedv1_.empfaenger as empfaeng3_1_1_,
extractedv1_.nachrichtentyp as nachrich4_1_1_,
extractedv1_.uuid as uuid5_1_1_
from messagedata messagedat0_
left outer join ExtractedValues extractedv1_ on messagedat0_.messageid=extractedv1_.messageid
where messagedat0_.id=?
2018-11-22 09:46:36,328 INFO [stdout] (default task-26) Hibernate:
select extractedv0_.messageid as messagei1_1_0_,
extractedv0_.absender as absender2_1_0_,
extractedv0_.empfaenger as empfaeng3_1_0_,
extractedv0_.nachrichtentyp as nachrich4_1_0_,
extractedv0_.uuid as uuid5_1_0_
from ExtractedValues extractedv0_ where extractedv0_.messageid=?
When I run the two selects manually the first Select does return a row the second not.
This causes the find Method to return NULL. Which is not the expected result in my opinion.
from the
Messagedata Entity:
@Id
private String id;
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="messageid", referencedColumnName="messageid", updatable=false)
private Set<Msginformation> msginformations;
@OneToMany
@JoinColumn(name="messageid", referencedColumnName="messageid")
private Set<Protocol> protocols;
@OneToMany
@JoinColumn(name="messageid", referencedColumnName="messageid")
private Set<Retry> retries;
@OneToOne
@JoinColumn(name="messageid", referencedColumnName="messageid", insertable=false, updatable=false)
private ExtractedValues extractedValues;
The OneToOne Relationship to ExtractedValues causes the problems on MariaDB.
I have tried to set
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
in persistence.xml, but this does not solve the problem.
I have no idea what to do about this…
oracle hibernate jpa mariadb
add a comment |
Hello I have an application which runs on JBoss EAP 7 with JPA Hibernate.
I have problems with a simple entityManager.find(id) call.
The call produces against an Oracle 12 database one SQL
select messagedat0_.id as id1_4_0_,
messagedat0_.messageid as messageid3_4_0_,
messagedat0_.messageblob as messageblob2_4_0_,
messagedat0_.messagetype as messagetype4_4_0_,
messagedat0_.retaintime as retaintime5_4_0_,
extractedv1_.messageid as messageid1_1_1_,
extractedv1_.absender as absender2_1_1_,
extractedv1_.empfaenger as empfaenger3_1_1_,
extractedv1_.nachrichtentyp as nachrichtentyp4_1_1_,
extractedv1_.uuid as uuid5_1_1_
from messagedata messagedat0_
left outer join ExtractedValues extractedv1_ on messagedat0_.messageid=extractedv1_.messageid
where messagedat0_.id=?
which returns the entity.
Against a MariaDB it produces TWO SELECTS
Hibernate:
select messagedat0_.id as id1_4_0_,
messagedat0_.messageid as messagei3_4_0_,
messagedat0_.messageblob as messageb2_4_0_,
messagedat0_.messagetype as messaget4_4_0_,
messagedat0_.retaintime as retainti5_4_0_,
extractedv1_.messageid as messagei1_1_1_,
extractedv1_.absender as absender2_1_1_,
extractedv1_.empfaenger as empfaeng3_1_1_,
extractedv1_.nachrichtentyp as nachrich4_1_1_,
extractedv1_.uuid as uuid5_1_1_
from messagedata messagedat0_
left outer join ExtractedValues extractedv1_ on messagedat0_.messageid=extractedv1_.messageid
where messagedat0_.id=?
2018-11-22 09:46:36,328 INFO [stdout] (default task-26) Hibernate:
select extractedv0_.messageid as messagei1_1_0_,
extractedv0_.absender as absender2_1_0_,
extractedv0_.empfaenger as empfaeng3_1_0_,
extractedv0_.nachrichtentyp as nachrich4_1_0_,
extractedv0_.uuid as uuid5_1_0_
from ExtractedValues extractedv0_ where extractedv0_.messageid=?
When I run the two selects manually the first Select does return a row the second not.
This causes the find Method to return NULL. Which is not the expected result in my opinion.
from the
Messagedata Entity:
@Id
private String id;
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="messageid", referencedColumnName="messageid", updatable=false)
private Set<Msginformation> msginformations;
@OneToMany
@JoinColumn(name="messageid", referencedColumnName="messageid")
private Set<Protocol> protocols;
@OneToMany
@JoinColumn(name="messageid", referencedColumnName="messageid")
private Set<Retry> retries;
@OneToOne
@JoinColumn(name="messageid", referencedColumnName="messageid", insertable=false, updatable=false)
private ExtractedValues extractedValues;
The OneToOne Relationship to ExtractedValues causes the problems on MariaDB.
I have tried to set
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
in persistence.xml, but this does not solve the problem.
I have no idea what to do about this…
oracle hibernate jpa mariadb
Hello I have an application which runs on JBoss EAP 7 with JPA Hibernate.
I have problems with a simple entityManager.find(id) call.
The call produces against an Oracle 12 database one SQL
select messagedat0_.id as id1_4_0_,
messagedat0_.messageid as messageid3_4_0_,
messagedat0_.messageblob as messageblob2_4_0_,
messagedat0_.messagetype as messagetype4_4_0_,
messagedat0_.retaintime as retaintime5_4_0_,
extractedv1_.messageid as messageid1_1_1_,
extractedv1_.absender as absender2_1_1_,
extractedv1_.empfaenger as empfaenger3_1_1_,
extractedv1_.nachrichtentyp as nachrichtentyp4_1_1_,
extractedv1_.uuid as uuid5_1_1_
from messagedata messagedat0_
left outer join ExtractedValues extractedv1_ on messagedat0_.messageid=extractedv1_.messageid
where messagedat0_.id=?
which returns the entity.
Against a MariaDB it produces TWO SELECTS
Hibernate:
select messagedat0_.id as id1_4_0_,
messagedat0_.messageid as messagei3_4_0_,
messagedat0_.messageblob as messageb2_4_0_,
messagedat0_.messagetype as messaget4_4_0_,
messagedat0_.retaintime as retainti5_4_0_,
extractedv1_.messageid as messagei1_1_1_,
extractedv1_.absender as absender2_1_1_,
extractedv1_.empfaenger as empfaeng3_1_1_,
extractedv1_.nachrichtentyp as nachrich4_1_1_,
extractedv1_.uuid as uuid5_1_1_
from messagedata messagedat0_
left outer join ExtractedValues extractedv1_ on messagedat0_.messageid=extractedv1_.messageid
where messagedat0_.id=?
2018-11-22 09:46:36,328 INFO [stdout] (default task-26) Hibernate:
select extractedv0_.messageid as messagei1_1_0_,
extractedv0_.absender as absender2_1_0_,
extractedv0_.empfaenger as empfaeng3_1_0_,
extractedv0_.nachrichtentyp as nachrich4_1_0_,
extractedv0_.uuid as uuid5_1_0_
from ExtractedValues extractedv0_ where extractedv0_.messageid=?
When I run the two selects manually the first Select does return a row the second not.
This causes the find Method to return NULL. Which is not the expected result in my opinion.
from the
Messagedata Entity:
@Id
private String id;
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="messageid", referencedColumnName="messageid", updatable=false)
private Set<Msginformation> msginformations;
@OneToMany
@JoinColumn(name="messageid", referencedColumnName="messageid")
private Set<Protocol> protocols;
@OneToMany
@JoinColumn(name="messageid", referencedColumnName="messageid")
private Set<Retry> retries;
@OneToOne
@JoinColumn(name="messageid", referencedColumnName="messageid", insertable=false, updatable=false)
private ExtractedValues extractedValues;
The OneToOne Relationship to ExtractedValues causes the problems on MariaDB.
I have tried to set
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
in persistence.xml, but this does not solve the problem.
I have no idea what to do about this…
oracle hibernate jpa mariadb
oracle hibernate jpa mariadb
edited Nov 23 '18 at 6:18
fhossfel
1,371721
1,371721
asked Nov 22 '18 at 11:53
HansHans
366
366
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
I would suggest you to use either of the below dialects :
org.hibernate.dialect.MariaDBDialect
or
org.hibernate.dialect.MariaDB53Dialect
Thanks for your anwers.
– Hans
Nov 23 '18 at 11:52
Please accept the answer if the solution provided worked :)
– codeLover
Nov 26 '18 at 8:23
add a comment |
I hope you are not passing proper dialect. Please check the dialect.
You can use below dialect.
org.hibernate.dialect.MariaDBDialect
add a comment |
Thanks for your answers
I have tried both dialects with
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDB53Dialect"/>
Unfortunetly JBoss then refuses to deploy the war
Unable to resolve name [org.hibernate.dialect.MariaDBDialect] as strategy [org.hibernate.dialect.Dialect]
Unable to resolve name [org.hibernate.dialect.MariaDB53Dialect] as strategy [org.hibernate.dialect.Dialect]
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%2f53430458%2fjpa-em-findid-works-on-oracle-but-not-on-mariadb%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
I would suggest you to use either of the below dialects :
org.hibernate.dialect.MariaDBDialect
or
org.hibernate.dialect.MariaDB53Dialect
Thanks for your anwers.
– Hans
Nov 23 '18 at 11:52
Please accept the answer if the solution provided worked :)
– codeLover
Nov 26 '18 at 8:23
add a comment |
I would suggest you to use either of the below dialects :
org.hibernate.dialect.MariaDBDialect
or
org.hibernate.dialect.MariaDB53Dialect
Thanks for your anwers.
– Hans
Nov 23 '18 at 11:52
Please accept the answer if the solution provided worked :)
– codeLover
Nov 26 '18 at 8:23
add a comment |
I would suggest you to use either of the below dialects :
org.hibernate.dialect.MariaDBDialect
or
org.hibernate.dialect.MariaDB53Dialect
I would suggest you to use either of the below dialects :
org.hibernate.dialect.MariaDBDialect
or
org.hibernate.dialect.MariaDB53Dialect
answered Nov 22 '18 at 12:11
codeLovercodeLover
2,2551620
2,2551620
Thanks for your anwers.
– Hans
Nov 23 '18 at 11:52
Please accept the answer if the solution provided worked :)
– codeLover
Nov 26 '18 at 8:23
add a comment |
Thanks for your anwers.
– Hans
Nov 23 '18 at 11:52
Please accept the answer if the solution provided worked :)
– codeLover
Nov 26 '18 at 8:23
Thanks for your anwers.
– Hans
Nov 23 '18 at 11:52
Thanks for your anwers.
– Hans
Nov 23 '18 at 11:52
Please accept the answer if the solution provided worked :)
– codeLover
Nov 26 '18 at 8:23
Please accept the answer if the solution provided worked :)
– codeLover
Nov 26 '18 at 8:23
add a comment |
I hope you are not passing proper dialect. Please check the dialect.
You can use below dialect.
org.hibernate.dialect.MariaDBDialect
add a comment |
I hope you are not passing proper dialect. Please check the dialect.
You can use below dialect.
org.hibernate.dialect.MariaDBDialect
add a comment |
I hope you are not passing proper dialect. Please check the dialect.
You can use below dialect.
org.hibernate.dialect.MariaDBDialect
I hope you are not passing proper dialect. Please check the dialect.
You can use below dialect.
org.hibernate.dialect.MariaDBDialect
answered Nov 23 '18 at 6:21
DK AnshDK Ansh
293216
293216
add a comment |
add a comment |
Thanks for your answers
I have tried both dialects with
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDB53Dialect"/>
Unfortunetly JBoss then refuses to deploy the war
Unable to resolve name [org.hibernate.dialect.MariaDBDialect] as strategy [org.hibernate.dialect.Dialect]
Unable to resolve name [org.hibernate.dialect.MariaDB53Dialect] as strategy [org.hibernate.dialect.Dialect]
add a comment |
Thanks for your answers
I have tried both dialects with
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDB53Dialect"/>
Unfortunetly JBoss then refuses to deploy the war
Unable to resolve name [org.hibernate.dialect.MariaDBDialect] as strategy [org.hibernate.dialect.Dialect]
Unable to resolve name [org.hibernate.dialect.MariaDB53Dialect] as strategy [org.hibernate.dialect.Dialect]
add a comment |
Thanks for your answers
I have tried both dialects with
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDB53Dialect"/>
Unfortunetly JBoss then refuses to deploy the war
Unable to resolve name [org.hibernate.dialect.MariaDBDialect] as strategy [org.hibernate.dialect.Dialect]
Unable to resolve name [org.hibernate.dialect.MariaDB53Dialect] as strategy [org.hibernate.dialect.Dialect]
Thanks for your answers
I have tried both dialects with
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDB53Dialect"/>
Unfortunetly JBoss then refuses to deploy the war
Unable to resolve name [org.hibernate.dialect.MariaDBDialect] as strategy [org.hibernate.dialect.Dialect]
Unable to resolve name [org.hibernate.dialect.MariaDB53Dialect] as strategy [org.hibernate.dialect.Dialect]
answered Nov 23 '18 at 11:52
HansHans
366
366
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.
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%2f53430458%2fjpa-em-findid-works-on-oracle-but-not-on-mariadb%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