java – 如何在运行时获取Hibernate方言
发布时间:2020-05-25 16:31:44 所属栏目:Java 来源:互联网
导读:在我的应用程序中,我使用Hibernate与SQL Server数据库,所以我设置 property name=hibernate.dialect value=org.hibernate.dialect.SQLServerDialect 在我的persistence.xml中. 在某些情况下,我想用NULL包括排序记录,我使用关键字NULLS FIRST. 因为Hibernate中
|
在我的应用程序中,我使用Hibernate与SQL Server数据库,所以我设置 <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"> 在我的persistence.xml中. 在某些情况下,我想用NULL包括排序记录,我使用关键字NULLS FIRST. case when column_name is null then 0 else 1 end,column_name 如果我想将数据库从SQL Server迁移到Oracle(例如),那么我需要在我的拦截器中放置if-else,选择我正在使用哪种方言,对吧? 这就是我说明它们的方式: String dialect = ..............
if (dialect.equals("org.hibernate.dialect.SQLServerDialect")) { // get SQL Server dialect
// put keyword "case when column_name is null then 0 else 1 end,column_name"
} else {
// put keyword "NULLS FIRST/LAST"
}
如何在运行时获取方言配置(在persistence.xml中)? 解决方法如果你使用Spring hibernate,试试这个@Autowired@Qualifier("sessionFactory") org.springframework.orm.hibernate3.LocalSessionFactoryBean sessionFactory; //Suppose using hibernate 3
在你的方法中: sessionFactory.getHibernateProperties().get("hibernate.dialect") (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
