Skip to content

Instantly share code, notes, and snippets.

@gbadner
gbadner / gist:8101698
Created December 23, 2013 17:58
UniqueKey
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* Copyright (c) 2010 by Red Hat Inc and/or its affiliates or by
* third-party contributors as indicated by either @author tags or express
* copyright attribution statements applied by the authors. All
* third-party contributions are distributed under license by Red Hat Inc.
*
* This copyrighted material is made available to anyone wishing to use, modify,
* copy, or redistribute it subject to the terms and conditions of the GNU
@gbadner
gbadner / gist:8045073
Created December 19, 2013 19:48
EntityManagerFactoryBuilderImpl
public class EntityManagerFactoryBuilderImpl implements EntityManagerFactoryBuilder {
private static final EntityManagerMessageLogger LOG = Logger.getMessageLogger(
EntityManagerMessageLogger.class,
EntityManagerFactoryBuilderImpl.class.getName()
);
private static final String META_INF_ORM_XML = "META-INF/orm.xml";
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@gbadner
gbadner / gist:8030497
Created December 18, 2013 21:53
org.hibernate.metamodel.spi.relational.UniqueKey
public class UniqueKey extends AbstractConstraint implements Constraint {
private static final String GENERATED_NAME_PREFIX = "UK";
protected UniqueKey(Table table, String name) {
super( table, name );
}
@Override
public String getExportIdentifier() {
StringBuilder sb = new StringBuilder( getTable().getLoggableValueQualifier() );
@gbadner
gbadner / gist:8030434
Created December 18, 2013 21:50
org.hibernate.metamodel.spi.relational.Index
public class Index extends AbstractConstraint implements Constraint {
protected Index(Table table, String name) {
super( table, name );
}
@Override
public String getExportIdentifier() {
StringBuilder sb = new StringBuilder( getTable().getLoggableValueQualifier());
sb.append( ".IDX" );
@gbadner
gbadner / gist:8030453
Created December 18, 2013 21:51
org.hibernate.metamodel.spi.relational.Table
public class Table extends AbstractTableSpecification implements Exportable {
private final Schema database;
private Identifier physicalName;
private Identifier logicalName;
private ObjectName objectName;
private String exportIdentifier;
private final Set<Index> indexes = new LinkedHashSet<Index>();
private final Set<UniqueKey> uniqueKeys = new LinkedHashSet<UniqueKey>();
private final List<CheckConstraint> checkConstraints = new ArrayList<CheckConstraint>();
@gbadner
gbadner / gist:8007065
Created December 17, 2013 15:50
:hibernate-core:runAnnotationProcessors failure
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':hibernate-core:runAnnotationProcessors'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.int
@gbadner
gbadner / gist:7837050
Created December 7, 2013 03:46
Jta and Jdbc design for JdbcSession Proposal
interface JdbcSession {
TransactionCoordinator getTransactionCoordinator();
Object accept(PreparedStatementQueryOperation operation);
// renamed to execute()?
void closeResources(PreparedStatementQueryOperation operation);
// needed???
}
@gbadner
gbadner / gist:7681508
Created November 27, 2013 19:19
AliasResolutionContext.getSourceAlias()
/**
* Resolve the source alias (select-clause assigned alias) associated with the specified Return. The source
* alias is the alias associated with the Return in the source query.
* <p/>
* The concept of a source alias only has meaning in the case of queries (HQL, Criteria, etc). Not sure we
* really need to keep these here. One argument for keeping them is that I always thought it would be nice to
* base the SQL aliases on the source aliases. Keeping the source aliases here would allow us to do that as
* we are generating those SQL aliases internally.
* <p/>
* Should also consider pushing the source "from clause aliases" here if we keep pushing the select aliases
@gbadner
gbadner / gist:7665622
Created November 26, 2013 20:27
java.sql.SQLException: Cannot close a connection while a transaction is still active.
[javatest.batch] 11-26-2013 14:42:33: TRACE: EntityManagerFactory class:org.hibernate.jpa.internal.EntityManagerFactoryImpl isOpen:true
[javatest.batch] Nov 26, 2013 2:42:33 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop
[javatest.batch] INFO: HHH000030: Cleaning up connection pool [jdbc:derby://localhost:1527/derbyDB;user=cts1;password=cts1;create=true]
[javatest.batch] Nov 26, 2013 2:42:33 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop
[javatest.batch] WARN: HHH000293: Problem closing pooled connection
[javatest.batch] java.sql.SQLException: Cannot close a connection while a transaction is still active.
[javatest.batch] at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
[javatest.batch] at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
[javatest.batch] at org.apache.derby.client.am.Connection.closeResourcesX(Unknown Source)
[javatest.batch] at org.apache.derb
@gbadner
gbadner / gist:7592399
Created November 22, 2013 00:16
Failure: com/sun/ts/tests/jpa/ee/propagation/cm/extended/Client.java#test6
\u001b[0m\u001b[0m22:45:22,635 INFO [stdout] (Thread-188) ************************************************************
\u001b[0m\u001b[0m22:45:22,879 INFO [stdout] (Thread-188) 11-20-2013 22:45:22: ERROR: Unexpected Exception :
\u001b[0m\u001b[0m22:45:22,884 INFO [stdout] (Thread-188) 11-20-2013 22:45:22: ERROR: javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.HibernateException: Transaction was rolled back in a different thread!
\u001b[0m\u001b[0m22:45:22,885 INFO [stdout] (Thread-188) at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:190)
\u001b[0m\u001b[0m22:45:22,886 INFO [stdout] (Thread-188) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
\u001b[0m\u001b[0m22:45:22,886 INFO [stdout] (Thread-188) at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:340)
\u001b[0m\u001b[0m22:45:22,887 INFO [stdout] (Thread-188) at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxIn