java – 如何在运行时获取Hibernate方言
发布时间:2020-12-15 03:07:07 所属栏目:Java 来源:网络整理
导读:在我的应用程序中,我使用Hibernate与SQL Server数据库,所以我设置 property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" 在我的persistence.xml中. 在某些情况下,我想用NULL包括排序记录,我使用关键字NULLS FIRST. 因为Hibern
在我的应用程序中,我使用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") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |