Да, вы можете, но вам нужно расширить спящий диалект, как показано ниже:
import org.hibernate.dialect.Oracle10gDialect;
public class ExtendedDialect extends Oracle10gDialect{
public ExtendedDialect()
{
super();
registerKeyword("over");
registerKeyword("partition");
}
}
Когда этот класс окажется на вашем пути к классам, вам нужно будет указать hibernate использовать его вместо исходного диалекта (в данном случае Oracle10gDialect). Я не уверен, какие фреймворки вы используете, но в случае Spring вы можете использовать следующее свойство в LocalContainerEntityManagerFactoryBean:
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="databasePlatform" value="path.to.dialect.ExtendedDialect" />
</bean>
</property>
Затем вы можете использовать перестановку и разбиение в аннотациях @Formula, аннотациях @Where и других функциях гибернации, не путая спящий режим.