Get rid of LiteralType
This commit is contained in:
parent
bfe2da9d4f
commit
81e66fa970
|
@ -13,7 +13,6 @@ import java.util.Date;
|
|||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
import org.hibernate.type.AbstractSingleColumnStandardBasicType;
|
||||
import org.hibernate.type.LiteralType;
|
||||
import org.hibernate.type.VersionType;
|
||||
import org.hibernate.type.descriptor.java.JdbcTimestampTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.BigIntTypeDescriptor;
|
||||
|
@ -25,7 +24,7 @@ import org.hibernate.type.descriptor.jdbc.BigIntTypeDescriptor;
|
|||
|
||||
public class TimestampEpochType
|
||||
extends AbstractSingleColumnStandardBasicType<Date>
|
||||
implements VersionType<Date>, LiteralType<Date> {
|
||||
implements VersionType<Date> {
|
||||
|
||||
public static final TimestampEpochType INSTANCE = new TimestampEpochType();
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@ package org.hibernate.userguide.mapping.basic;
|
|||
|
||||
import java.util.BitSet;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.AbstractSingleColumnStandardBasicType;
|
||||
import org.hibernate.type.DiscriminatorType;
|
||||
import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
||||
|
@ -26,12 +25,7 @@ public class BitSetType
|
|||
return fromString( sequence );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(BitSet value, Dialect dialect) throws Exception {
|
||||
return toString( value );
|
||||
}
|
||||
|
||||
@Override
|
||||
@Override
|
||||
public String getName() {
|
||||
return "bitset";
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ import org.hibernate.query.sqm.spi.SqmCreationContext;
|
|||
import org.hibernate.service.spi.ServiceRegistryImplementor;
|
||||
import org.hibernate.sql.ast.spi.SqlAstCreationContext;
|
||||
import org.hibernate.stat.spi.StatisticsImplementor;
|
||||
import org.hibernate.type.descriptor.WrapperOptions;
|
||||
import org.hibernate.type.spi.TypeConfiguration;
|
||||
|
||||
/**
|
||||
|
@ -161,6 +162,8 @@ public interface SessionFactoryImplementor
|
|||
*/
|
||||
FastSessionServices getFastSessionServices();
|
||||
|
||||
WrapperOptions getWrapperOptions();
|
||||
|
||||
/**
|
||||
* Contract for resolving this SessionFactory on deserialization
|
||||
*/
|
||||
|
|
|
@ -103,6 +103,7 @@ import org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl;
|
|||
import org.hibernate.metamodel.spi.MetamodelImplementor;
|
||||
import org.hibernate.persister.entity.EntityPersister;
|
||||
import org.hibernate.persister.entity.Loadable;
|
||||
import org.hibernate.persister.entity.SessionFactoryBasedWrapperOptions;
|
||||
import org.hibernate.procedure.spi.ProcedureCallImplementor;
|
||||
import org.hibernate.proxy.EntityNotFoundDelegate;
|
||||
import org.hibernate.proxy.HibernateProxyHelper;
|
||||
|
@ -126,6 +127,7 @@ import org.hibernate.stat.spi.StatisticsImplementor;
|
|||
import org.hibernate.tool.schema.spi.DelayedDropAction;
|
||||
import org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator;
|
||||
import org.hibernate.type.Type;
|
||||
import org.hibernate.type.descriptor.WrapperOptions;
|
||||
import org.hibernate.type.spi.TypeConfiguration;
|
||||
|
||||
import org.jboss.logging.Logger;
|
||||
|
@ -186,6 +188,7 @@ public class SessionFactoryImpl implements SessionFactoryImplementor {
|
|||
private final transient Map<String, FetchProfile> fetchProfiles;
|
||||
|
||||
private final transient FastSessionServices fastSessionServices;
|
||||
private final transient WrapperOptions wrapperOptions;
|
||||
private final transient SessionBuilder defaultSessionOpenOptions;
|
||||
private final transient SessionBuilder temporarySessionOpenOptions;
|
||||
private final transient StatelessSessionBuilder defaultStatelessOptions;
|
||||
|
@ -372,6 +375,7 @@ public class SessionFactoryImpl implements SessionFactoryImplementor {
|
|||
this.temporarySessionOpenOptions = this.defaultSessionOpenOptions == null ? null : buildTemporarySessionOpenOptions();
|
||||
this.defaultStatelessOptions = this.defaultSessionOpenOptions == null ? null : withStatelessOptions();
|
||||
this.fastSessionServices = new FastSessionServices( this );
|
||||
this.wrapperOptions = new SessionFactoryBasedWrapperOptions( this );
|
||||
|
||||
this.observer.sessionFactoryCreated( this );
|
||||
|
||||
|
@ -1643,6 +1647,11 @@ public class SessionFactoryImpl implements SessionFactoryImplementor {
|
|||
return this.fastSessionServices;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WrapperOptions getWrapperOptions() {
|
||||
return wrapperOptions;
|
||||
}
|
||||
|
||||
private enum Status {
|
||||
OPEN,
|
||||
CLOSING,
|
||||
|
|
|
@ -16,7 +16,6 @@ import java.util.Objects;
|
|||
import org.hibernate.EntityMode;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.MappingException;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.engine.jdbc.Size;
|
||||
import org.hibernate.engine.spi.Mapping;
|
||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||
|
@ -226,11 +225,6 @@ public class DiscriminatorType<T> extends AbstractType implements org.hibernate.
|
|||
return underlyingType.getColumnSpan( mapping );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(T value, Dialect dialect) throws Exception {
|
||||
return ( (org.hibernate.type.DiscriminatorType<T>) underlyingType ).objectToSQLString( value, dialect );
|
||||
}
|
||||
|
||||
@Override
|
||||
public T stringToObject(CharSequence sequence) throws Exception {
|
||||
return ( (org.hibernate.type.DiscriminatorType<T>) underlyingType ).stringToObject( sequence );
|
||||
|
|
|
@ -69,6 +69,7 @@ import org.hibernate.type.CompositeType;
|
|||
import org.hibernate.type.DiscriminatorType;
|
||||
import org.hibernate.type.StandardBasicTypes;
|
||||
import org.hibernate.type.Type;
|
||||
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;
|
||||
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
|
@ -194,10 +195,12 @@ public class JoinedSubclassEntityPersister extends AbstractEntityPersister {
|
|||
else {
|
||||
try {
|
||||
discriminatorValue = discriminatorType.stringToObject( persistentClass.getDiscriminatorValue() );
|
||||
discriminatorSQLString = ((DiscriminatorType) discriminatorType).objectToSQLString(
|
||||
discriminatorValue,
|
||||
factory.getJdbcServices().getDialect()
|
||||
);
|
||||
discriminatorSQLString = discriminatorType.getJdbcTypeDescriptor().getJdbcLiteralFormatter( (JavaTypeDescriptor) discriminatorType.getJavaTypeDescriptor() )
|
||||
.toJdbcLiteral(
|
||||
discriminatorValue,
|
||||
factory.getJdbcServices().getDialect(),
|
||||
factory.getWrapperOptions()
|
||||
);
|
||||
}
|
||||
catch (ClassCastException cce) {
|
||||
throw new MappingException("Illegal discriminator type: " + discriminatorType.getName() );
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Hibernate, Relational Persistence for Idiomatic Java
|
||||
*
|
||||
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
|
||||
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
|
||||
*/
|
||||
package org.hibernate.persister.entity;
|
||||
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.hibernate.engine.jdbc.LobCreator;
|
||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
import org.hibernate.type.descriptor.WrapperOptions;
|
||||
import org.hibernate.type.descriptor.jdbc.JdbcTypeDescriptor;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Christian Beikov
|
||||
*/
|
||||
public class SessionFactoryBasedWrapperOptions implements WrapperOptions {
|
||||
|
||||
private final SessionFactoryImplementor factory;
|
||||
|
||||
public SessionFactoryBasedWrapperOptions(SessionFactoryImplementor factory) {
|
||||
this.factory = factory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SharedSessionContractImplementor getSession() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useStreamForLobBinding() {
|
||||
return factory.getFastSessionServices().useStreamForLobBinding();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPreferredSqlTypeCodeForBoolean() {
|
||||
return factory.getFastSessionServices().getPreferredSqlTypeCodeForBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public LobCreator getLobCreator() {
|
||||
return factory.getJdbcServices().getLobCreator( getSession() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public JdbcTypeDescriptor remapSqlTypeDescriptor(JdbcTypeDescriptor jdbcTypeDescriptor) {
|
||||
return jdbcTypeDescriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TimeZone getJdbcTimeZone() {
|
||||
return factory.getSessionFactoryOptions().getJdbcTimeZone();
|
||||
}
|
||||
}
|
|
@ -63,6 +63,7 @@ import org.hibernate.type.AssociationType;
|
|||
import org.hibernate.type.BasicType;
|
||||
import org.hibernate.type.DiscriminatorType;
|
||||
import org.hibernate.type.Type;
|
||||
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;
|
||||
|
||||
/**
|
||||
* The default implementation of the <tt>EntityPersister</tt> interface.
|
||||
|
@ -340,8 +341,12 @@ public class SingleTableEntityPersister extends AbstractEntityPersister {
|
|||
discriminatorInsertable = persistentClass.isDiscriminatorInsertable() && !discrimValue.hasFormula();
|
||||
try {
|
||||
discriminatorValue = discriminatorType.stringToObject( persistentClass.getDiscriminatorValue() );
|
||||
discriminatorSQLValue = ((DiscriminatorType) discriminatorType)
|
||||
.objectToSQLString( discriminatorValue, dialect );
|
||||
discriminatorSQLValue = discriminatorType.getJdbcTypeDescriptor().getJdbcLiteralFormatter( (JavaTypeDescriptor) discriminatorType.getJavaTypeDescriptor() )
|
||||
.toJdbcLiteral(
|
||||
discriminatorValue,
|
||||
factory.getJdbcServices().getDialect(),
|
||||
factory.getWrapperOptions()
|
||||
);
|
||||
}
|
||||
catch (ClassCastException cce) {
|
||||
throw new MappingException( "Illegal discriminator type: " + discriminatorType.getName() );
|
||||
|
|
|
@ -11,7 +11,6 @@ import java.util.Map;
|
|||
|
||||
import org.hibernate.MappingException;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.LiteralType;
|
||||
|
||||
/**
|
||||
* An SQL <tt>INSERT</tt> statement
|
||||
|
@ -74,10 +73,6 @@ public class Insert {
|
|||
return this;
|
||||
}
|
||||
|
||||
public Insert addColumn(String columnName, Object value, LiteralType type) throws Exception {
|
||||
return addColumn( columnName, type.objectToSQLString( value, dialect ) );
|
||||
}
|
||||
|
||||
public Insert addIdentityColumn(String columnName) {
|
||||
String value = dialect.getIdentityColumnSupport().getIdentityInsertString();
|
||||
if ( value != null ) {
|
||||
|
|
|
@ -10,7 +10,6 @@ import java.util.LinkedHashMap;
|
|||
import java.util.Map;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.LiteralType;
|
||||
|
||||
/**
|
||||
* An SQL <tt>UPDATE</tt> statement
|
||||
|
@ -131,10 +130,6 @@ public class Update {
|
|||
return this;
|
||||
}
|
||||
|
||||
public Update addColumn(String columnName, Object value, LiteralType type) throws Exception {
|
||||
return addColumn( columnName, type.objectToSQLString(value, dialect) );
|
||||
}
|
||||
|
||||
public Update addWhereColumns(String[] columnNames) {
|
||||
for ( String columnName : columnNames ) {
|
||||
addWhereColumn( columnName );
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.math.BigInteger;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.BigIntegerTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.NumericTypeDescriptor;
|
||||
|
||||
|
@ -38,11 +37,6 @@ public class BigIntegerType
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(BigInteger value, Dialect dialect) {
|
||||
return BigIntegerTypeDescriptor.INSTANCE.toString( value );
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigInteger stringToObject(CharSequence string) {
|
||||
return BigIntegerTypeDescriptor.INSTANCE.fromString( string );
|
||||
|
|
|
@ -10,11 +10,9 @@ import java.io.Serializable;
|
|||
import java.sql.Types;
|
||||
|
||||
import org.hibernate.Incubating;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.BooleanTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.JdbcTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.JdbcTypeDescriptorIndicators;
|
||||
|
||||
/**
|
||||
* A type that maps between {@link Types#BOOLEAN BOOLEAN} and {@link Boolean}
|
||||
|
@ -62,9 +60,4 @@ public class BooleanType
|
|||
return fromString( string );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Boolean value, Dialect dialect) {
|
||||
return dialect.toBooleanValueString( value );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -9,7 +9,6 @@ package org.hibernate.type;
|
|||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
import org.hibernate.type.descriptor.java.ByteTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.TinyIntTypeDescriptor;
|
||||
|
@ -52,11 +51,6 @@ public class ByteType
|
|||
return byte.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Byte value, Dialect dialect) {
|
||||
return toString( value );
|
||||
}
|
||||
|
||||
@Override
|
||||
public Byte stringToObject(CharSequence sequence) {
|
||||
return fromString( sequence );
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.CharacterTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.NCharTypeDescriptor;
|
||||
|
||||
|
@ -40,16 +39,6 @@ public class CharacterNCharType
|
|||
return char.class;
|
||||
}
|
||||
|
||||
public String objectToSQLString(Character value, Dialect dialect) {
|
||||
if ( value == '\'' ) {
|
||||
return "''''";
|
||||
}
|
||||
final char[] chars = new char[3];
|
||||
chars[0] = chars[2] = '\'';
|
||||
chars[1] = value;
|
||||
return new String( chars );
|
||||
}
|
||||
|
||||
public Character stringToObject(CharSequence sequence) {
|
||||
return fromString( sequence );
|
||||
}
|
||||
|
|
|
@ -9,7 +9,6 @@ package org.hibernate.type;
|
|||
import java.io.Serializable;
|
||||
import java.sql.Types;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.CharacterTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.CharTypeDescriptor;
|
||||
|
||||
|
@ -46,16 +45,6 @@ public class CharacterType
|
|||
return char.class;
|
||||
}
|
||||
|
||||
public String objectToSQLString(Character value, Dialect dialect) {
|
||||
if ( value == '\'' ) {
|
||||
return "''''";
|
||||
}
|
||||
final char[] chars = new char[3];
|
||||
chars[0] = chars[2] = '\'';
|
||||
chars[1] = value;
|
||||
return new String( chars );
|
||||
}
|
||||
|
||||
public Character stringToObject(CharSequence sequence) {
|
||||
return fromString( sequence );
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.util.Currency;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.CurrencyTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
||||
|
||||
|
@ -19,8 +18,7 @@ import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
|||
* @author Steve Ebersole
|
||||
*/
|
||||
public class CurrencyType
|
||||
extends AbstractSingleColumnStandardBasicType<Currency>
|
||||
implements LiteralType<Currency> {
|
||||
extends AbstractSingleColumnStandardBasicType<Currency> {
|
||||
|
||||
public static final CurrencyType INSTANCE = new CurrencyType();
|
||||
|
||||
|
@ -37,7 +35,4 @@ public class CurrencyType
|
|||
return true;
|
||||
}
|
||||
|
||||
public String objectToSQLString(Currency value, Dialect dialect) throws Exception {
|
||||
return "'" + toString( value ) + "'";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import java.util.Map;
|
|||
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.MappingException;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.engine.jdbc.Size;
|
||||
import org.hibernate.engine.spi.Mapping;
|
||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||
|
@ -256,11 +255,6 @@ public class CustomType
|
|||
return fromStringValue( sequence );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Object value, Dialect dialect) throws Exception {
|
||||
return ( (EnhancedUserType) getUserType() ).objectToSQLString( value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Comparator getComparator() {
|
||||
return (Comparator) getUserType();
|
||||
|
|
|
@ -11,7 +11,6 @@ import java.util.Date;
|
|||
import jakarta.persistence.TemporalType;
|
||||
|
||||
import org.hibernate.QueryException;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.metamodel.model.domain.AllowableTemporalParameterType;
|
||||
import org.hibernate.type.descriptor.java.JdbcDateTypeDescriptor;
|
||||
import org.hibernate.type.spi.TypeConfiguration;
|
||||
|
@ -24,7 +23,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class DateType
|
||||
extends AbstractSingleColumnStandardBasicType<Date>
|
||||
implements IdentifierType<Date>, LiteralType<Date>, AllowableTemporalParameterType<Date> {
|
||||
implements IdentifierType<Date>, AllowableTemporalParameterType<Date> {
|
||||
|
||||
public static final DateType INSTANCE = new DateType();
|
||||
|
||||
|
@ -49,14 +48,6 @@ public class DateType
|
|||
// return true;
|
||||
// }
|
||||
|
||||
public String objectToSQLString(Date value, Dialect dialect) throws Exception {
|
||||
final java.sql.Date jdbcDate = java.sql.Date.class.isInstance( value )
|
||||
? ( java.sql.Date ) value
|
||||
: new java.sql.Date( value.getTime() );
|
||||
// TODO : use JDBC date literal escape syntax? -> {d 'date-string'} in yyyy-mm-dd format
|
||||
return StringType.INSTANCE.objectToSQLString( jdbcDate.toString(), dialect );
|
||||
}
|
||||
|
||||
public Date stringToObject(CharSequence sequence) {
|
||||
return fromString( sequence );
|
||||
}
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
package org.hibernate.type;
|
||||
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.JdbcTypeDescriptor;
|
||||
|
||||
/**
|
||||
* Additional contract for a {@link Type} may be used for a discriminator.
|
||||
|
@ -15,16 +16,17 @@ import org.hibernate.dialect.Dialect;
|
|||
* @author Gavin King
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
public interface DiscriminatorType<T> extends IdentifierType<T>, LiteralType<T> {
|
||||
public interface DiscriminatorType<T> extends IdentifierType<T> {
|
||||
|
||||
/**
|
||||
* Render the given discriminator value to a literal format
|
||||
* for embedding in the generated SQL.
|
||||
*
|
||||
* @param value The value to convert
|
||||
* @param dialect The SQL dialect
|
||||
*
|
||||
* @return The value's SQL literal representation
|
||||
* The descriptor for the Java type represented by this
|
||||
* expressable type
|
||||
*/
|
||||
@Override
|
||||
String objectToSQLString(T value, Dialect dialect) throws Exception;
|
||||
JavaTypeDescriptor<T> getJavaTypeDescriptor();
|
||||
|
||||
/**
|
||||
* The descriptor for the SQL type represented by this
|
||||
* expressable type
|
||||
*/
|
||||
JdbcTypeDescriptor getJdbcTypeDescriptor();
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.DoubleTypeDescriptor;
|
||||
|
||||
/**
|
||||
|
@ -44,8 +43,4 @@ public class DoubleType
|
|||
public Class getPrimitiveClass() {
|
||||
return double.class;
|
||||
}
|
||||
@Override
|
||||
public String objectToSQLString(Double value, Dialect dialect) throws Exception {
|
||||
return toString( value );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,8 +15,7 @@ import org.hibernate.type.descriptor.jdbc.NumericTypeDescriptor;
|
|||
* @author Steve Ebersole
|
||||
*/
|
||||
public class DurationType
|
||||
extends AbstractSingleColumnStandardBasicType<Duration>
|
||||
implements LiteralType<Duration> {
|
||||
extends AbstractSingleColumnStandardBasicType<Duration> {
|
||||
/**
|
||||
* Singleton access
|
||||
*/
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.FloatTypeDescriptor;
|
||||
|
||||
/**
|
||||
|
@ -42,8 +41,4 @@ public class FloatType extends AbstractSingleColumnStandardBasicType<Float> impl
|
|||
public Class getPrimitiveClass() {
|
||||
return float.class;
|
||||
}
|
||||
@Override
|
||||
public String objectToSQLString(Float value, Dialect dialect) throws Exception {
|
||||
return toString( value );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class InstantType
|
||||
extends AbstractSingleColumnStandardBasicType<Instant>
|
||||
implements VersionType<Instant>, LiteralType<Instant>, AllowableTemporalParameterType<Instant> {
|
||||
implements VersionType<Instant>, AllowableTemporalParameterType<Instant> {
|
||||
/**
|
||||
* Singleton access
|
||||
*/
|
||||
|
|
|
@ -9,7 +9,6 @@ package org.hibernate.type;
|
|||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
import org.hibernate.type.descriptor.java.IntegerTypeDescriptor;
|
||||
|
||||
|
@ -50,11 +49,6 @@ public class IntegerType extends AbstractSingleColumnStandardBasicType<Integer>
|
|||
return int.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Integer value, Dialect dialect) throws Exception {
|
||||
return toString( value );
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer stringToObject(CharSequence sequence) {
|
||||
return fromString( sequence );
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
* Hibernate, Relational Persistence for Idiomatic Java
|
||||
*
|
||||
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
|
||||
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
|
||||
*/
|
||||
package org.hibernate.type;
|
||||
import org.hibernate.AssertionFailure;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
|
||||
/**
|
||||
* Additional contract for a {@link Type} that may appear as an SQL literal
|
||||
*
|
||||
* @author Gavin King
|
||||
* @author Steve Ebersole
|
||||
*
|
||||
* @deprecated (since 6.0) Use {@link org.hibernate.query.hql.LiteralConsumer}
|
||||
* mechanism instead
|
||||
*/
|
||||
@Deprecated
|
||||
public interface LiteralType<T> {
|
||||
/**
|
||||
* Convert the value into a string representation, suitable for embedding in an SQL statement as a
|
||||
* literal.
|
||||
*
|
||||
* @param value The value to convert
|
||||
* @param dialect The SQL dialect
|
||||
*
|
||||
* @return The value's string representation
|
||||
*
|
||||
* @throws Exception Indicates an issue converting the value to literal string.
|
||||
*/
|
||||
default String objectToSQLString(T value, Dialect dialect) throws Exception {
|
||||
throw new AssertionFailure("not a discriminator type");
|
||||
}
|
||||
|
||||
}
|
|
@ -25,7 +25,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class LocalDateTimeType
|
||||
extends AbstractSingleColumnStandardBasicType<LocalDateTime>
|
||||
implements VersionType<LocalDateTime>, LiteralType<LocalDateTime>, AllowableTemporalParameterType<LocalDateTime> {
|
||||
implements VersionType<LocalDateTime>, AllowableTemporalParameterType<LocalDateTime> {
|
||||
/**
|
||||
* Singleton access
|
||||
*/
|
||||
|
|
|
@ -20,7 +20,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class LocalDateType
|
||||
extends AbstractSingleColumnStandardBasicType<LocalDate>
|
||||
implements LiteralType<LocalDate>, AllowableTemporalParameterType<LocalDate> {
|
||||
implements AllowableTemporalParameterType<LocalDate> {
|
||||
|
||||
/**
|
||||
* Singleton access
|
||||
|
|
|
@ -21,7 +21,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class LocalTimeType
|
||||
extends AbstractSingleColumnStandardBasicType<LocalTime>
|
||||
implements LiteralType<LocalTime>, AllowableTemporalParameterType<LocalTime> {
|
||||
implements AllowableTemporalParameterType<LocalTime> {
|
||||
/**
|
||||
* Singleton access
|
||||
*/
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.util.Locale;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.LocaleTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
||||
|
||||
|
@ -18,8 +17,7 @@ import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
|||
* @author Gavin King
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
public class LocaleType extends AbstractSingleColumnStandardBasicType<Locale>
|
||||
implements LiteralType<Locale> {
|
||||
public class LocaleType extends AbstractSingleColumnStandardBasicType<Locale> {
|
||||
|
||||
public static final LocaleType INSTANCE = new LocaleType();
|
||||
|
||||
|
@ -36,7 +34,4 @@ public class LocaleType extends AbstractSingleColumnStandardBasicType<Locale>
|
|||
return true;
|
||||
}
|
||||
|
||||
public String objectToSQLString(Locale value, Dialect dialect) throws Exception {
|
||||
return StringType.INSTANCE.objectToSQLString( toString( value ), dialect );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,6 @@ package org.hibernate.type;
|
|||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
import org.hibernate.type.descriptor.java.LongTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.BigIntTypeDescriptor;
|
||||
|
@ -72,8 +71,4 @@ public class LongType
|
|||
return getJavaTypeDescriptor().getComparator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Long value, Dialect dialect) throws Exception {
|
||||
return value.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.metamodel.model.convert.spi.BasicValueConverter;
|
||||
import org.hibernate.query.CastType;
|
||||
import org.hibernate.type.descriptor.java.BooleanTypeDescriptor;
|
||||
|
@ -46,10 +45,7 @@ public class NumericBooleanType
|
|||
public Boolean stringToObject(CharSequence string) {
|
||||
return fromString( string );
|
||||
}
|
||||
@Override
|
||||
public String objectToSQLString(Boolean value, Dialect dialect) {
|
||||
return value ? "1" : "0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public CastType getCastType() {
|
||||
return CastType.INTEGER_BOOLEAN;
|
||||
|
|
|
@ -24,7 +24,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class OffsetDateTimeType
|
||||
extends AbstractSingleColumnStandardBasicType<OffsetDateTime>
|
||||
implements VersionType<OffsetDateTime>, LiteralType<OffsetDateTime>, AllowableTemporalParameterType<OffsetDateTime> {
|
||||
implements VersionType<OffsetDateTime>, AllowableTemporalParameterType<OffsetDateTime> {
|
||||
|
||||
/**
|
||||
* Singleton access
|
||||
|
|
|
@ -20,7 +20,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class OffsetTimeType
|
||||
extends AbstractSingleColumnStandardBasicType<OffsetTime>
|
||||
implements LiteralType<OffsetTime>, AllowableTemporalParameterType<OffsetTime> {
|
||||
implements AllowableTemporalParameterType<OffsetTime> {
|
||||
|
||||
/**
|
||||
* Singleton access
|
||||
|
|
|
@ -12,7 +12,7 @@ package org.hibernate.type;
|
|||
* @author Gavin King
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
public interface PrimitiveType<T> extends LiteralType<T>, AdjustableBasicType<T> {
|
||||
public interface PrimitiveType<T> extends AdjustableBasicType<T> {
|
||||
/**
|
||||
* Retrieve the primitive counterpart to the wrapper type identified by
|
||||
* {@link Type#getReturnedClass()}.
|
||||
|
|
|
@ -9,7 +9,6 @@ package org.hibernate.type;
|
|||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
import org.hibernate.type.descriptor.java.ShortTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.SmallIntTypeDescriptor;
|
||||
|
@ -52,11 +51,6 @@ public class ShortType
|
|||
return short.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Short value, Dialect dialect) {
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Short stringToObject(CharSequence sequence) {
|
||||
return Short.valueOf( sequence.toString() );
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
*/
|
||||
package org.hibernate.type;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.query.internal.QueryLiteralHelper;
|
||||
import org.hibernate.type.descriptor.java.StringTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.NVarcharTypeDescriptor;
|
||||
|
||||
|
@ -36,10 +34,6 @@ public class StringNVarcharType
|
|||
return false;
|
||||
}
|
||||
|
||||
public String objectToSQLString(String value, Dialect dialect) throws Exception {
|
||||
return QueryLiteralHelper.toStringLiteral( value );
|
||||
}
|
||||
|
||||
public String stringToObject(CharSequence sequence) throws Exception {
|
||||
return sequence.toString();
|
||||
}
|
||||
|
|
|
@ -8,8 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.sql.Types;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.query.internal.QueryLiteralHelper;
|
||||
import org.hibernate.type.descriptor.java.StringTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
||||
|
||||
|
@ -38,10 +36,6 @@ public class StringType
|
|||
return true;
|
||||
}
|
||||
|
||||
public String objectToSQLString(String value, Dialect dialect) throws Exception {
|
||||
return QueryLiteralHelper.toStringLiteral( value );
|
||||
}
|
||||
|
||||
public String stringToObject(CharSequence sequence) throws Exception {
|
||||
return sequence.toString();
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class TimeType
|
||||
extends AbstractSingleColumnStandardBasicType<Date>
|
||||
implements LiteralType<Date>, AllowableTemporalParameterType<Date> {
|
||||
implements AllowableTemporalParameterType<Date> {
|
||||
|
||||
public static final TimeType INSTANCE = new TimeType();
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.TimeZoneTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
||||
|
||||
|
@ -19,8 +18,7 @@ import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
|||
* @author Steve Ebersole
|
||||
*/
|
||||
public class TimeZoneType
|
||||
extends AbstractSingleColumnStandardBasicType<TimeZone>
|
||||
implements LiteralType<TimeZone> {
|
||||
extends AbstractSingleColumnStandardBasicType<TimeZone> {
|
||||
|
||||
public static final TimeZoneType INSTANCE = new TimeZoneType();
|
||||
|
||||
|
@ -37,8 +35,4 @@ public class TimeZoneType
|
|||
return true;
|
||||
}
|
||||
|
||||
public String objectToSQLString(TimeZone value, Dialect dialect) throws Exception {
|
||||
return StringType.INSTANCE.objectToSQLString( value.getID(), dialect );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class TimestampType
|
||||
extends AbstractSingleColumnStandardBasicType<Date>
|
||||
implements VersionType<Date>, LiteralType<Date>, AllowableTemporalParameterType<Date> {
|
||||
implements VersionType<Date>, AllowableTemporalParameterType<Date> {
|
||||
|
||||
public static final TimestampType INSTANCE = new TimestampType();
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.metamodel.model.convert.spi.BasicValueConverter;
|
||||
import org.hibernate.query.CastType;
|
||||
import org.hibernate.type.descriptor.java.BooleanTypeDescriptor;
|
||||
|
@ -53,11 +52,6 @@ public class TrueFalseType
|
|||
return Boolean.FALSE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Boolean value, Dialect dialect) throws Exception {
|
||||
return StringType.INSTANCE.objectToSQLString( value ? "T" : "F", dialect );
|
||||
}
|
||||
|
||||
@Override
|
||||
public CastType getCastType() {
|
||||
return CastType.TF_BOOLEAN;
|
||||
|
|
|
@ -17,7 +17,7 @@ import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
|||
*
|
||||
* @author Steve Ebersole
|
||||
*/
|
||||
public class UUIDCharType extends AbstractSingleColumnStandardBasicType<UUID> implements LiteralType<UUID> {
|
||||
public class UUIDCharType extends AbstractSingleColumnStandardBasicType<UUID> {
|
||||
public static final UUIDCharType INSTANCE = new UUIDCharType();
|
||||
|
||||
public UUIDCharType() {
|
||||
|
@ -33,7 +33,4 @@ public class UUIDCharType extends AbstractSingleColumnStandardBasicType<UUID> im
|
|||
return "uuid-char";
|
||||
}
|
||||
|
||||
public String objectToSQLString(UUID value, Dialect dialect) throws Exception {
|
||||
return StringType.INSTANCE.objectToSQLString( value.toString(), dialect );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ package org.hibernate.type;
|
|||
|
||||
import java.net.URL;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.UrlTypeDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
||||
|
||||
|
@ -38,10 +37,6 @@ public class UrlType extends AbstractSingleColumnStandardBasicType<URL> implemen
|
|||
return UrlTypeDescriptor.INSTANCE.toString( value );
|
||||
}
|
||||
|
||||
public String objectToSQLString(URL value, Dialect dialect) throws Exception {
|
||||
return StringType.INSTANCE.objectToSQLString( toString( value ), dialect );
|
||||
}
|
||||
|
||||
public URL stringToObject(CharSequence sequence) throws Exception {
|
||||
return UrlTypeDescriptor.INSTANCE.fromString( sequence );
|
||||
}
|
||||
|
|
|
@ -9,7 +9,6 @@ package org.hibernate.type;
|
|||
import java.io.Serializable;
|
||||
|
||||
import org.hibernate.Internal;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.metamodel.model.convert.spi.BasicValueConverter;
|
||||
import org.hibernate.query.CastType;
|
||||
import org.hibernate.type.descriptor.java.BooleanTypeDescriptor;
|
||||
|
@ -54,11 +53,6 @@ public class YesNoType
|
|||
return Boolean.FALSE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Boolean value, Dialect dialect) throws Exception {
|
||||
return StringType.INSTANCE.objectToSQLString( value ? "Y" : "N", dialect );
|
||||
}
|
||||
|
||||
@Override
|
||||
public CastType getCastType() {
|
||||
return CastType.YN_BOOLEAN;
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
*/
|
||||
package org.hibernate.type;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.descriptor.java.ZoneOffsetJavaDescriptor;
|
||||
import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
||||
|
||||
|
@ -19,8 +18,7 @@ import java.time.ZoneOffset;
|
|||
* @author Steve Ebersole
|
||||
*/
|
||||
public class ZoneOffsetType
|
||||
extends AbstractSingleColumnStandardBasicType<ZoneOffset>
|
||||
implements LiteralType<ZoneOffset> {
|
||||
extends AbstractSingleColumnStandardBasicType<ZoneOffset> {
|
||||
|
||||
public static final ZoneOffsetType INSTANCE = new ZoneOffsetType();
|
||||
|
||||
|
@ -37,8 +35,4 @@ public class ZoneOffsetType
|
|||
return true;
|
||||
}
|
||||
|
||||
public String objectToSQLString(ZoneOffset value, Dialect dialect) throws Exception {
|
||||
return StringType.INSTANCE.objectToSQLString( value.getId(), dialect );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ import org.hibernate.type.spi.TypeConfiguration;
|
|||
*/
|
||||
public class ZonedDateTimeType
|
||||
extends AbstractSingleColumnStandardBasicType<ZonedDateTime>
|
||||
implements VersionType<ZonedDateTime>, LiteralType<ZonedDateTime>, AllowableTemporalParameterType<ZonedDateTime> {
|
||||
implements VersionType<ZonedDateTime>, AllowableTemporalParameterType<ZonedDateTime> {
|
||||
|
||||
/**
|
||||
* Singleton access
|
||||
|
|
|
@ -2,7 +2,6 @@ package org.hibernate.orm.test.type.contributor;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.AbstractSingleColumnStandardBasicType;
|
||||
import org.hibernate.type.DiscriminatorType;
|
||||
import org.hibernate.type.descriptor.jdbc.VarcharTypeDescriptor;
|
||||
|
@ -33,11 +32,6 @@ public class ArrayType
|
|||
return fromString( sequence );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String objectToSQLString(Array value, Dialect dialect) throws Exception {
|
||||
return toString( value );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "comma-separated-array";
|
||||
|
|
|
@ -12,7 +12,6 @@ import java.sql.ResultSet;
|
|||
import java.sql.SQLException;
|
||||
|
||||
import org.hibernate.AssertionFailure;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.AbstractSingleColumnStandardBasicType;
|
||||
import org.hibernate.type.DiscriminatorType;
|
||||
import org.hibernate.type.StringType;
|
||||
|
@ -103,10 +102,6 @@ public class StoredPrefixedStringType
|
|||
return true;
|
||||
}
|
||||
|
||||
public String objectToSQLString(String value, Dialect dialect) throws Exception {
|
||||
return StringType.INSTANCE.objectToSQLString( value, dialect );
|
||||
}
|
||||
|
||||
public String stringToObject(CharSequence sequence) throws Exception {
|
||||
return StringType.INSTANCE.stringToObject( sequence );
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@ import java.sql.ResultSet;
|
|||
import java.sql.SQLException;
|
||||
import java.sql.Types;
|
||||
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.type.BooleanType;
|
||||
|
||||
class SDOBooleanType extends BooleanType {
|
||||
|
@ -51,8 +50,4 @@ class SDOBooleanType extends BooleanType {
|
|||
}
|
||||
}
|
||||
|
||||
public String objectToSQLString(Boolean value, Dialect dialect) {
|
||||
return value ? "'TRUE'" : "'FALSE'";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue