diff --git a/modules/core/src/main/java/org/springside/modules/persistence/DynamicSpecifications.java b/modules/core/src/main/java/org/springside/modules/persistence/DynamicSpecifications.java index 9b2d5071..2ec528c7 100644 --- a/modules/core/src/main/java/org/springside/modules/persistence/DynamicSpecifications.java +++ b/modules/core/src/main/java/org/springside/modules/persistence/DynamicSpecifications.java @@ -16,7 +16,8 @@ import org.springside.modules.utils.Collections3; import com.google.common.collect.Lists; public class DynamicSpecifications { - public static Specification bySearchFilter(final Collection filters, final Class clazz) { + + public static Specification bySearchFilter(final Collection filters, final Class entityClazz) { return new Specification() { @Override public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { diff --git a/modules/core/src/main/java/org/springside/modules/persistence/Hibernates.java b/modules/core/src/main/java/org/springside/modules/persistence/Hibernates.java index 911cf45c..8c514d72 100644 --- a/modules/core/src/main/java/org/springside/modules/persistence/Hibernates.java +++ b/modules/core/src/main/java/org/springside/modules/persistence/Hibernates.java @@ -10,13 +10,14 @@ import org.hibernate.Hibernate; import org.hibernate.dialect.H2Dialect; import org.hibernate.dialect.MySQL5InnoDBDialect; import org.hibernate.dialect.Oracle10gDialect; +import org.hibernate.dialect.PostgreSQL82Dialect; +import org.hibernate.dialect.SQLServer2008Dialect; public class Hibernates { /** * Initialize the lazy property value. * - * eg. - * Hibernates.initLazyProperty(user.getGroups()); + * e.g. Hibernates.initLazyProperty(user.getGroups()); */ public static void initLazyProperty(Object proxyedPropertyValue) { Hibernate.initialize(proxyedPropertyValue); @@ -24,7 +25,7 @@ public class Hibernates { /** * 从DataSoure中取出connection, 根据connection的metadata中的jdbcUrl判断Dialect类型. - * 仅支持Oracle, H2, MySql,如需更多数据库类型,请仿照此类自行编写。 + * 仅支持Oracle, H2, MySql, PostgreSql, SQLServer,如需更多数据库类型,请仿照此类自行编写。 */ public static String getDialect(DataSource dataSource) { String jdbcUrl = getJdbcUrlFromDataSource(dataSource); @@ -36,6 +37,10 @@ public class Hibernates { return MySQL5InnoDBDialect.class.getName(); } else if (StringUtils.contains(jdbcUrl, ":oracle:")) { return Oracle10gDialect.class.getName(); + } else if (StringUtils.contains(jdbcUrl, ":postgresql:")) { + return PostgreSQL82Dialect.class.getName(); + } else if (StringUtils.contains(jdbcUrl, ":sqlserver:")) { + return SQLServer2008Dialect.class.getName(); } else { throw new IllegalArgumentException("Unknown Database of " + jdbcUrl); }