Bug with @Min and @Max constraints in TypeSafeActivator for PostgreSQL
Description
Activity

Christian BeikovApril 8, 2022 at 4:49 PM
Since no test case was provided for years, I'll close this issue as out of date. I also believe it will most probably not be an issue any more in 6.0.
If this still is an issue for you, please create a new issue with a test case that reproduces the problem.
Steve EbersoleOctober 28, 2015 at 3:25 AM
As part of verifying that this issue affects 5.0, please just set the "Affects version". Leave the "verify-affects-5.0" label and leave the issue in "Awaiting Response" status; these are critical for us to be able to track these verifications and triage them. Thanks.
Steve EbersoleOctober 27, 2015 at 7:14 PM
This bug report does not indicate that the reported issue affects version 5.x. Versions prior to 5.x are no longer maintained. It would be a great help to the Hibernate team and community for someone to verify that the reported issue still affects version 5.x. If so, please add the 5.x version that you verified with to the list of affected-versions and attach the (preferably SSCCE) test case you used to do the verification to the report; from there the issues will be looked at during our triage meetings.
For details, see http://in.relation.to/2015/10/27/great-jira-cleanup-2015/

Hardy FerentschikMay 26, 2011 at 10:57 AM
Try setting the property javax.persistence.validation.mode to callback. If auto or ddl is used the database constraints are created, otherwise not.
Obviously there is also a dialect problem.
Details
Assignee
UnassignedUnassignedReporter
rcrcLabels
Components
Affects versions
Priority
Major
Details
Details
Assignee
Reporter

Not sure why validation annotation is enforced against database schema at all, but the current code like
String checkConstraint = col.getName() + ">=" + min;
breaks the whole database generation in PostgreSQL if any of the @Min, @Max or @Range validation are used at the moment.
When these annotations are applied to a property, for example:
@Min(value = 0)
private int testValue;
and PostgreSQL dialect is used for the schema generation, the next sample SQL code is created:
CREATE TABLE "TestEntity" (
"testValue" int4 not null check(testValue >= 0)
)
Which fails with an error that "testvalue" column is not found.
The problem is that the check constraint doesn't have quotes around the corresponding column name.
Code like
CREATE TABLE "TableA" (
"testValue" int4 not null check("testValue" >= 0)
)
would work just fine.