Christian Beikov (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) *created* an issue
Hibernate ORM (
https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiMWM3ODIwYzJm...
) / Bug (
https://hibernate.atlassian.net/browse/HHH-16933?atlOrigin=eyJpIjoiMWM3OD...
) HHH-16933 (
https://hibernate.atlassian.net/browse/HHH-16933?atlOrigin=eyJpIjoiMWM3OD...
) JSON issue on Oracle 23c (
https://hibernate.atlassian.net/browse/HHH-16933?atlOrigin=eyJpIjoiMWM3OD...
)
Issue Type: Bug Affects Versions: 6.2.6 Assignee: Unassigned Components: hibernate-core
Created: 13/Jul/2023 03:52 AM Priority: Major Reporter: Christian Beikov (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
)
Not sure if the problem is in Hibernate or Oracle 23c. Copying from a conversation with
Loic:
A minimal reproducer is:
create table JsonHolder (
id number(19,0) not null,
aggregate json,
primary key (id),
check (aggregate.theInt.number() is not null)
);
producing ORA-00904: "AGGREGATE"."THEINT"."NUMBER": invalid
identifier
The fact is that you're using Oracle SQL dot notation that requires an alias (ideal
usage being DML).
So to make your code work, you'd need to use the JSON_VALUE() function instead such
as:
create table JsonHolder (
id number(19,0) not null,
aggregate json,
primary key (id),
check (json_value(aggregate, '$.theInt.number()') is not null)
);
(
https://hibernate.atlassian.net/browse/HHH-16933#add-comment?atlOrigin=ey...
) Add Comment (
https://hibernate.atlassian.net/browse/HHH-16933#add-comment?atlOrigin=ey...
)
Get Jira notifications on your phone! Download the Jira Cloud app for Android (
https://play.google.com/store/apps/details?id=com.atlassian.android.jira....
) or iOS (
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=Em...
) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100231- sha1:2991753 )