Java Code Examples for org.hibernate.dialect.PostgreSQL81Dialect

The following examples show how to use org.hibernate.dialect.PostgreSQL81Dialect. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
@Test
@RequiresDialect({PostgreSQL81Dialect.class})
public void test() {
	doInJPA( this::entityManagerFactory, entityManager -> {
		DebitAccount debitAccount = new DebitAccount( "123-debit" );
		debitAccount.setId( 1L );
		debitAccount.setOwner( "John Doe" );
		debitAccount.setBalance( BigDecimal.valueOf( 100 ) );
		debitAccount.setInterestRate( BigDecimal.valueOf( 1.5d ) );
		debitAccount.setOverdraftFee( BigDecimal.valueOf( 25 ) );

		CreditAccount creditAccount = new CreditAccount( "456-credit" );
		creditAccount.setId( 2L );
		creditAccount.setOwner( "John Doe" );
		creditAccount.setBalance( BigDecimal.valueOf( 1000 ) );
		creditAccount.setInterestRate( BigDecimal.valueOf( 1.9d ) );
		creditAccount.setCreditLimit( BigDecimal.valueOf( 5000 ) );

		entityManager.persist( debitAccount );
		entityManager.persist( creditAccount );
	} );

	doInJPA( this::entityManagerFactory, entityManager -> {
		List<Account> accounts =
				entityManager.createQuery( "select a from Account a" ).getResultList();
		Assert.assertEquals( 2, accounts.size() );
	} );
}
 
Example 2
@Override
protected String[] getMappings() {
	if ( PostgreSQL81Dialect.class.isAssignableFrom( getDialect().getClass() ) ) {
		return new String[] { "org/hibernate/userguide/schema/SchemaGenerationTest.hbm.xml" };
	}
	return super.getMappings();
}
 
Example 3
Source Project: lams   Source File: IlikeExpression.java    License: GNU General Public License v2.0 5 votes vote down vote up
@Override
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) {
	final Dialect dialect = criteriaQuery.getFactory().getDialect();
	final String[] columns = criteriaQuery.findColumns( propertyName, criteria );
	if ( columns.length != 1 ) {
		throw new HibernateException( "ilike may only be used with single-column properties" );
	}
	if ( dialect instanceof PostgreSQLDialect || dialect instanceof PostgreSQL81Dialect) {
		return columns[0] + " ilike ?";
	}
	else {
		return dialect.getLowercaseFunction() + '(' + columns[0] + ") like ?";
	}
}
 
Example 4
Source Project: jpa2ddl   Source File: EngineDecorator.java    License: Apache License 2.0 5 votes vote down vote up
public static EngineDecorator getEngineDecorator(String dialect) throws ClassNotFoundException {
	Class<?> dialectClass = Class.forName(dialect);
	if (MySQLDialect.class.isAssignableFrom(dialectClass)) {
		return new MySQLDecorator();
	} else if (PostgreSQL81Dialect.class.isAssignableFrom(dialectClass)) {
		return new PostgreSQLDecorator();
	} else if (Oracle8iDialect.class.isAssignableFrom(dialectClass)) {
		return new OracleDecorator();
	} else if (SQLServerDialect.class.isAssignableFrom(dialectClass)) {
		return new SQLServerDecorator();
	}
	return new NoOpDecorator();

}
 
Example 5
/**
 * Perform an SQL INSERT, and then retrieve a generated identifier.
 * <p>
 * This form is used for PostInsertIdentifierGenerator-style ids (IDENTITY,
 * select, etc).
 */
default CompletionStage<Serializable> insertReactive(
		Object[] fields,
		boolean[] notNull,
		String sql,
		Object object,
		SharedSessionContractImplementor session) throws HibernateException {

	if ( log.isTraceEnabled() ) {
		log.tracev( "Inserting entity: {0}", infoString(delegate()) );
		if ( delegate().isVersioned() ) {
			log.tracev( "Version: {0}", Versioning.getVersion( fields, delegate()) );
		}
	}

	Object[] params = PreparedStatementAdaptor.bind( insert -> {
		boolean[][] insertable = delegate().getPropertyColumnInsertable();
		delegate().dehydrate( null, fields, notNull, insertable, 0, insert, session, false );
	} );

	SessionFactoryImplementor factory = session.getFactory();
	Dialect dialect = factory.getJdbcServices().getDialect();
	String identifierColumnName = delegate().getIdentifierColumnNames()[0];
	ReactiveConnection connection = getReactiveConnection(session);
	if ( factory.getSessionFactoryOptions().isGetGeneratedKeysEnabled() ) {
		//TODO: wooooo this is awful ... I believe the problem is fixed in Hibernate 6
		if ( dialect instanceof PostgreSQL81Dialect) {
			sql = sql + " returning " + identifierColumnName;
		}
		return connection.updateReturning( sql, params ).thenApply( id -> id );
	}
	else {
		//use an extra round trip to fetch the id
		String selectIdSql = dialect.getIdentityColumnSupport()
				.getIdentitySelectString(
						delegate().getTableName(),
						identifierColumnName,
						Types.INTEGER
				);
		return connection.update( sql, params )
				.thenCompose( v -> connection.selectLong( selectIdSql, new Object[0] ) )
				.thenApply( id -> id );
	}

}
 
Example 6
@Test
@RequiresDialect( PostgreSQL81Dialect.class )
public void testPostgres() {
}
 
Example 7
Source Project: lams   Source File: StrategySelectorBuilder.java    License: GNU General Public License v2.0 4 votes vote down vote up
private void addDialects(StrategySelectorImpl strategySelector) {
	addDialect( strategySelector, Cache71Dialect.class );
	addDialect( strategySelector, CUBRIDDialect.class );
	addDialect( strategySelector, DB2Dialect.class );
	addDialect( strategySelector, DB2390Dialect.class );
	addDialect( strategySelector, DB2390V8Dialect.class );
	addDialect( strategySelector, DB2400Dialect.class );
	addDialect( strategySelector, DerbyTenFiveDialect.class );
	addDialect( strategySelector, DerbyTenSixDialect.class );
	addDialect( strategySelector, DerbyTenSevenDialect.class );
	addDialect( strategySelector, FirebirdDialect.class );
	addDialect( strategySelector, FrontBaseDialect.class );
	addDialect( strategySelector, H2Dialect.class );
	addDialect( strategySelector, HANAColumnStoreDialect.class );
	addDialect( strategySelector, HANARowStoreDialect.class );
	addDialect( strategySelector, HSQLDialect.class );
	addDialect( strategySelector, InformixDialect.class );
	addDialect( strategySelector, IngresDialect.class );
	addDialect( strategySelector, Ingres9Dialect.class );
	addDialect( strategySelector, Ingres10Dialect.class );
	addDialect( strategySelector, InterbaseDialect.class );
	addDialect( strategySelector, JDataStoreDialect.class );
	addDialect( strategySelector, MckoiDialect.class );
	addDialect( strategySelector, MimerSQLDialect.class );
	addDialect( strategySelector, MySQL5Dialect.class );
	addDialect( strategySelector, MySQL5InnoDBDialect.class );
	addDialect( strategySelector, MySQL57InnoDBDialect.class );
	addDialect( strategySelector, MySQL57Dialect.class );
	addDialect( strategySelector, Oracle8iDialect.class );
	addDialect( strategySelector, Oracle9iDialect.class );
	addDialect( strategySelector, Oracle10gDialect.class );
	addDialect( strategySelector, PointbaseDialect.class );
	addDialect( strategySelector, PostgresPlusDialect.class );
	addDialect( strategySelector, PostgreSQL81Dialect.class );
	addDialect( strategySelector, PostgreSQL82Dialect.class );
	addDialect( strategySelector, PostgreSQL9Dialect.class );
	addDialect( strategySelector, ProgressDialect.class );
	addDialect( strategySelector, SAPDBDialect.class );
	addDialect( strategySelector, SQLServerDialect.class );
	addDialect( strategySelector, SQLServer2005Dialect.class );
	addDialect( strategySelector, SQLServer2008Dialect.class );
	addDialect( strategySelector, Sybase11Dialect.class );
	addDialect( strategySelector, SybaseAnywhereDialect.class );
	addDialect( strategySelector, SybaseASE15Dialect.class );
	addDialect( strategySelector, SybaseASE157Dialect.class );
	addDialect( strategySelector, TeradataDialect.class );
	addDialect( strategySelector, TimesTenDialect.class );
}