記載遇到過的問題。 datetime轉換問題 Oracle - timestamp -> date 使用org.hibernate.dialect.OracleDialect會將timestamp轉為date,而date精準度不足。 Root cause為registerColumnType將timestamp設為date, public OracleDialect ( ) { super ( ) ; LOG. deprecatedOracleDialect ( ) ; // Oracle8 and previous define only a "DATE" type which // is used to represent all aspects of date/time registerColumnType ( Types . TIMESTAMP , "date" ) ; registerColumnType ( Types . CHAR , "char(1)" ) ; registerColumnType ( Types . VARCHAR , 4000 , "varchar2($l)" ) ; } 解法有二,一個是直接使用Oracle9Dialect或自己寫一個Dialect,其中registerColumnType寫為 registerColumnType ( Types . TIMESTAMP , "timestamp" ) ; Reference https://forum.hibernate.org/viewtopic.php?f=1&t=931035 Mysql - timestamp(3) -> timestamp Mysql從5.6開始支援秒的小數位,精準度到6位,但透過Hibernate轉換無法轉出對應的小數位宣告。 解法為Override MySql的Dialect: public class MySQL564PlusDialect extends MySQL5Dialect { public MySQL564Plus...