|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder
public final class GrailsDomainBinder
Handles the binding Grails domain classes and properties to the Hibernate runtime meta model. Based on the HbmBinder code in Hibernate core and influenced by AnnotationsBinder.
| Field Summary | |
|---|---|
static java.util.Map<java.lang.String,org.hibernate.cfg.NamingStrategy> |
NAMING_STRATEGIES
Overrideable naming strategy. |
| Constructor Summary | |
|---|---|
GrailsDomainBinder()
|
|
| Method Summary | |
|---|---|
static void |
bindClass(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
org.hibernate.cfg.Mappings mappings,
java.lang.String sessionFactoryBeanName)
Binds a Grails domain class to the Hibernate runtime meta model |
protected static void |
bindNumericColumnConstraints(org.hibernate.mapping.Column column,
org.codehaus.groovy.grails.validation.ConstrainedProperty constrainedProperty)
Interrogates the specified constraints looking for any constraints that would limit the precision and/or scale of the property's value. |
static void |
bindRoot(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
org.hibernate.cfg.Mappings mappings,
java.lang.String sessionFactoryBeanName)
Binds a root class (one with no super classes) to the runtime meta model based on the supplied Grails domain class |
protected static void |
bindStringColumnConstraints(org.hibernate.mapping.Column column,
org.codehaus.groovy.grails.validation.ConstrainedProperty constrainedProperty)
Interrogates the specified constraints looking for any constraints that would limit the length of the property's value. |
static void |
configureNamingStrategy(java.lang.Object strategy)
Override the default naming strategy for the default datasource given a Class or a full class name. |
static void |
configureNamingStrategy(java.lang.String datasourceName,
java.lang.Object strategy)
Override the default naming strategy given a Class or a full class name. |
protected static void |
createClassProperties(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
org.hibernate.mapping.PersistentClass persistentClass,
org.hibernate.cfg.Mappings mappings,
java.lang.String sessionFactoryBeanName)
Creates and binds the properties for the specified Grails domain class and PersistentClass and binds them to the Hibernate runtime meta model |
static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping |
evaluateMapping(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass)
Evaluates a Mapping object from the domain class if it has a mapping closure |
static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping |
evaluateMapping(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
groovy.lang.Closure<?> defaultMapping)
|
static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping |
evaluateMapping(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
groovy.lang.Closure<?> defaultMapping,
boolean cache)
|
static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping |
getMapping(java.lang.Class<?> theClass)
Obtains a mapping object for the given domain class nam |
static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping |
getMapping(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass)
Obtains a mapping object for the given domain class nam |
static org.codehaus.groovy.grails.orm.hibernate.cfg.PropertyConfig |
getPropertyConfig(org.codehaus.groovy.grails.commons.GrailsDomainClassProperty property)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static java.util.Map<java.lang.String,org.hibernate.cfg.NamingStrategy> NAMING_STRATEGIES
ImprovedNamingStrategy but can
be configured in DataSource.groovy via hibernate.naming_strategy = ....
| Constructor Detail |
|---|
public GrailsDomainBinder()
| Method Detail |
|---|
public static void configureNamingStrategy(java.lang.Object strategy)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
strategy - the class or name
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
public static void configureNamingStrategy(java.lang.String datasourceName,
java.lang.Object strategy)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException
datasourceName - the datasource namestrategy - the class or name
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessExceptionpublic static org.codehaus.groovy.grails.orm.hibernate.cfg.PropertyConfig getPropertyConfig(org.codehaus.groovy.grails.commons.GrailsDomainClassProperty property)
public static void bindClass(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
org.hibernate.cfg.Mappings mappings,
java.lang.String sessionFactoryBeanName)
throws org.hibernate.MappingException
domainClass - The domain class to bindmappings - The existing mappingssessionFactoryBeanName - the session factory bean name
org.hibernate.MappingException - Thrown if the domain class uses inheritance which is not supportedpublic static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping evaluateMapping(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass)
domainClass - The domain class
public static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping evaluateMapping(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
groovy.lang.Closure<?> defaultMapping)
public static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping evaluateMapping(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
groovy.lang.Closure<?> defaultMapping,
boolean cache)
public static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping getMapping(java.lang.Class<?> theClass)
theClass - The domain class in question
public static org.codehaus.groovy.grails.orm.hibernate.cfg.Mapping getMapping(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass)
domainClass - The domain class in question
public static void bindRoot(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
org.hibernate.cfg.Mappings mappings,
java.lang.String sessionFactoryBeanName)
domainClass - The Grails domain classmappings - The Hibernate Mappings objectsessionFactoryBeanName - the session factory bean name
protected static void createClassProperties(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
org.hibernate.mapping.PersistentClass persistentClass,
org.hibernate.cfg.Mappings mappings,
java.lang.String sessionFactoryBeanName)
domainClass - The Grails domain classpersistentClass - The Hibernate PersistentClass instancemappings - The Hibernate Mappings instancesessionFactoryBeanName - the session factory bean name
protected static void bindStringColumnConstraints(org.hibernate.mapping.Column column,
org.codehaus.groovy.grails.validation.ConstrainedProperty constrainedProperty)
column - the column that corresponds to the propertyconstrainedProperty - the property's constraints
protected static void bindNumericColumnConstraints(org.hibernate.mapping.Column column,
org.codehaus.groovy.grails.validation.ConstrainedProperty constrainedProperty)
column - the column that corresponds to the propertyconstrainedProperty - the property's constraints
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||