{"record":{"id":"54f3cca82d76a0a3","repo":"hibernate/hibernate-orm","slug":"classname-does-not-yet-support-timestampadd","errorCode":null,"errorMessage":"'{className}' does not yet support 'timestampadd()'","messagePattern":"'(.+?)' does not yet support 'timestampadd\\(\\)'","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java","lineNumber":1814,"sourceCode":"\t */\n\t@SuppressWarnings(\"deprecation\")\n\tpublic String timestampdiffPattern(TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType) {\n\t\tthrow new UnsupportedOperationException( \"'\" + getClass().getName() + \"' does not support 'timestampdiff()'\" );\n\t}\n\n\t/**\n\t * Obtain a pattern for the SQL equivalent to a\n\t * {@code timestampadd()} function call. The resulting\n\t * pattern must contain ?1, ?2, and ?3 placeholders\n\t * for the arguments.\n\t *\n\t * @param unit The unit to add to the temporal\n\t * @param temporalType The type of the temporal\n\t * @param intervalType The type of interval to add or null if it's not a native interval\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tpublic String timestampaddPattern(TemporalUnit unit, TemporalType temporalType, IntervalType intervalType) {\n\t\tthrow new UnsupportedOperationException( \"'\" + getClass().getName() + \"' does not yet support 'timestampadd()'\" );\n\t}\n\n\t/**\n\t * Do the given JDBC type codes, as defined in {@link Types} represent\n\t * essentially the same type in this dialect of SQL?\n\t * <p>\n\t * The default implementation treats {@link Types#NUMERIC NUMERIC} and\n\t * {@link Types#DECIMAL DECIMAL} as the same type, and\n\t * {@link Types#FLOAT FLOAT}, {@link Types#REAL REAL}, and\n\t * {@link Types#DOUBLE DOUBLE} as essentially the same type, since the\n\t * ANSI SQL specification fails to meaningfully distinguish them.\n\t * <p>\n\t * The default implementation also treats {@link Types#VARCHAR VARCHAR},\n\t * {@link Types#NVARCHAR NVARCHAR}, {@link Types#LONGVARCHAR LONGVARCHAR},\n\t * and {@link Types#LONGNVARCHAR LONGNVARCHAR} as the same type, and\n\t * {@link Types#VARBINARY BINARY} and\n\t * {@link Types#LONGVARBINARY LONGVARBINARY} as the same type, since\n\t * Hibernate doesn't really differentiate these types.","sourceCodeStart":1796,"sourceCodeEnd":1832,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java#L1796-L1832","documentation":"Error \"'{className}' does not yet support 'timestampadd()'\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A dialect-specific function or stream operation is used that the current database dialect does not support.","commonSituations":"Calling timestampadd()/timestampdiff() on dialects lacking support, or LOB stream handling hitting IO failures.","solutions":["Use a dialect that supports timestampadd(), or rewrite the query with a supported function/native SQL for this database."],"exampleFix":"Use a dialect that supports timestampadd(), or rewrite the query with a supported function/native SQL for this database.","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}