Hibernate使用方言(dialect)来实现数据库的操作的跨平台性。
1、如何使用
使用者必须在hibernate的配置文件比如hibernate.cfg.xml里对所使用的hibernate方言加以设置。
org.hibernate.dialect.Oracle9Dialect
2、hibernate支持的方言:
RDBMS
方言
DB2 |
org.hibernate.dialect.DB2Dialect |
DB2 AS/400 |
org.hibernate.dialect.DB2400Dialect |
DB2 OS390 |
org.hibernate.dialect.DB2390Dialect |
PostgreSQL |
org.hibernate.dialect.PostgreSQLDialect |
MySQL |
org.hibernate.dialect.MySQLDialect |
MySQL with InnoDB |
org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM |
org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) |
org.hibernate.dialect.OracleDialect |
Oracle 9i/10g |
org.hibernate.dialect.Oracle9Dialect |
Sybase |
org.hibernate.dialect.SybaseDialect |
Sybase Anywhere |
org.hibernate.dialect.SybaseAnywhereDialect |
Microsoft SQL Server |
org.hibernate.dialect.SQLServerDialect |
SAP DB |
org.hibernate.dialect.SAPDBDialect |
Informix |
org.hibernate.dialect.InformixDialect |
HypersonicSQL |
org.hibernate.dialect.HSQLDialect |
Ingres |
org.hibernate.dialect.IngresDialect |
Progress |
org.hibernate.dialect.ProgressDialect |
Mckoi SQL |
org.hibernate.dialect.MckoiDialect |
Interbase |
org.hibernate.dialect.InterbaseDialect |
Pointbase |
org.hibernate.dialect.PointbaseDialect |
FrontBase |
org.hibernate.dialect.FrontbaseDialect |
Firebird |
org.hibernate.dialect.FirebirdDialect |
3、自定义方言
实际使用时,hibernate自带的方言会不满足实际应用要求,这时我们就要自定义方言了。
注意了,不要重新造轮子,自定义的方言继承于原生方言,这样可以保证原生方言提供的东西还能继续使用。例如
public class MySQL5Dialect extends org.hibernate.dialect.MySQL5Dialect
来一段代码示例:
public class MySQL5Dialect extends org.hibernate.dialect.MySQL5Dialect {
public MySQL5Dialect(){
super();
//时间秒数比较函数,返回值为秒数,如果?1 > ?2,返回值为正数,反之为负数
registerFunction("timediffsecond",new SQLFunctionTemplate(Hibernate.INTEGER,"time_to_sec(timediff(?1,?2))"));
/**
* 字符串定位函数,即子字符串是否在查询字符串中。
* 返回值为0:子字符串不在查询字符串中;
* 返回值大于0:子字符串在查询字符串中.
* 示例:locate(('bar', 'foobarbar').
*/
registerFunction("locate",new StandardSQLFunction("locate",Hibernate.INTEGER));
}
}
分享到:
相关推荐
达梦数据库各版本的hibernate方言包,包含版本 DmDialect-for-hibernate2.0、DmDialect-for-hibernate2.1、DmDialect-for-hibernate3.0、DmDialect-for-hibernate3.1、DmDialect-for-hibernate3.6、DmDialect-for-...
* 达梦8 hibernate方言包对应版本说明 /*************************************** jar包在dialect目录下: 1. DmDialect-for-hibernate2.0.jar 对应 Jdk1.4及以上, hibernate2.0 环境 2. DmDialect-for-hibernate2.1...
hibernate支持的所有数据库方言。用起来很方便。
hibernate方言包
sqllite3 hibernate 方言sqllite3 hibernate 方言sqllite3 hibernate 方言sqllite3 hibernate 方言sqllite3 hibernate 方言sqllite3 hibernate 方言
达梦Hibernate方言2.0至4.0
达梦Hibernate方言2.0至4.0,当工具书用的.最新方言还是要参考用户手册.方言覆盖的数据库越来越多了
hibernate 方言 支持access
Hibernate不同数据库的连接及SQL方言
Hibernate连接SQLite配置步骤: 1、添加SQLite库: 1.1、将两个jar包:com.zy.hibernate.dialect.SQLiteDialect.jar、sqlite-jdbc-3.7.2.jar拷贝到“\WEB-INF\lib”文件夹下; 2、配置hibernate: 2.1、将...
瀚高数据库hibernate方言 hgdb-hibernate-dialect
达梦7最新版驱动2019.4更新 Dm7JdbcDriver18 DmDialect-for-hibernate5.0
使用方法:直接在hibernate配置文件中指定如下语句即可 <property name="hibernate.dialect">SQLiteUtil.SQLiteDialect 此包使用的hibernate版本为4.3.5-Final,sqlite jdbc驱动版本为sqlite-jdbc-3.7.2.jar.需要...
达梦8数据库jdbc依赖包 1. DmJdbcDriver16 对应 Jdk1.6 及以上环境 2. DmJdbcDriver17 对应 Jdk1.7 及以上环境 3. DmJdbcDriver18 对应 Jdk1.8 及以上环境 ---------- maven仓库下载 ...maven依赖配置示例: ...
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
达梦数据库7.6最新的驱动包及hibernate方言包,含JDK1.5到JDK1.8驱动包和haibernate 5.3及一下方言包
Hibernate经典入门篇 孙卫琴的