类org.hibernate.dialect.PostgreSQL81Dialect源码实例Demo

下面列出了怎么用org.hibernate.dialect.PostgreSQL81Dialect的API类实例代码及写法,或者点击链接到github查看源代码。

@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() );
	} );
}
 
@Override
protected String[] getMappings() {
	if ( PostgreSQL81Dialect.class.isAssignableFrom( getDialect().getClass() ) ) {
		return new String[] { "org/hibernate/userguide/schema/SchemaGenerationTest.hbm.xml" };
	}
	return super.getMappings();
}
 
源代码3 项目: lams   文件: IlikeExpression.java
@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 ?";
	}
}
 
源代码4 项目: jpa2ddl   文件: EngineDecorator.java
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();

}
 
/**
 * 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 );
	}

}
 
@Test
@RequiresDialect( PostgreSQL81Dialect.class )
public void testPostgres() {
}
 
源代码7 项目: lams   文件: StrategySelectorBuilder.java
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 );
}
 
 类所在包
 类方法
 同包方法