Monat: März 2010

Composite Pattern mit Hibernate

Problem: Wie kann man im Bäume mit “Eltern” und “Kindern”, also ein klassisches Composite-Pattern mit Hibernate abbilden?

Meine Lösung:
(Im Konkreten ging es um die Darstellung dieser Codes mit Hibernate, wobei ich momentan noch keine Angaben zur Performance im Vergleich zu einer Implementierung mit Nested Sets machen kann)

public class CpvCodes implements Serializable
{
	private Integer id;
	private String code;
	private String name;
	private CpvCodes parent;

	Set children = new HashSet();

	public String getName()
	{
		return name;
	}
	public void setName(String name)
	{
		this.name = name;
	}

	public String getCode()
	{
		return code;
	}
	public void setCode(String code)
	{
		this.code = code;
	}
	public Integer getId()
	{
		return id;
	}
	public void setId(Integer id)
	{
		this.id = id;
	}

	public Set getChildren()
	{
		return children;
	}
	public void setChildren(Set children)
	{
		this.children = children;
	}
	public CpvCodes getParent()
	{
		return parent;
	}
	public void setParent(CpvCodes parent)
	{
		this.parent = parent;
	}
}


      

      	

		


		


		

		
			
			

		
		

    


Ich finde es nur seltsam, das es zu so einem (Standard-) Problem relativ wenig Infos von Hibernate und so viele Fragen dazu in diversen Hibernateforen gibt!




Alle Util-Klassen des Springframeworks finden

Problem: Ich war auf der Suche nach einer bestimmten Util-Klasse aus dem Springframework, wußte aber nicht so genau, welche Utilklassen es gibt und in welchem Verzeichnis sie liegen!

Lösung: Groovy-Console öffnen:

def fileName = "C:\\springframework";
    def file = new File(fileName);
    file.eachFileRecurse {
        if(it.isFile() && it.toString().contains("Util")){
            println it
            }
    }

Hier sind die Util-KLassen vom Springframework:

C:\springframework\aop\aspectj\AspectJAopUtils.java
C:\springframework\aop\aspectj\AspectJProxyUtils.java
C:\springframework\aop\config\AopConfigUtils.java
C:\springframework\aop\config\AopNamespaceUtils.java
C:\springframework\aop\framework\AopProxyUtils.java
C:\springframework\aop\framework\autoproxy\AutoProxyUtils.java
C:\springframework\aop\scope\ScopedProxyUtils.java
C:\springframework\aop\support\AopUtils.java
C:\springframework\beans\BeanUtils.java
C:\springframework\beans\factory\BeanFactoryUtils.java
C:\springframework\beans\factory\support\AutowireUtils.java
C:\springframework\beans\factory\support\BeanDefinitionReaderUtils.java
C:\springframework\beans\factory\xml\UtilNamespaceHandler.java
C:\springframework\beans\PropertyAccessorUtils.java
C:\springframework\core\io\support\PropertiesLoaderUtils.java
C:\springframework\core\io\support\ResourcePatternUtils.java
C:\springframework\core\NestedExceptionUtils.java
C:\springframework\core\style\StylerUtils.java
C:\springframework\dao\support\DataAccessUtils.java
C:\springframework\jca\cci\connection\ConnectionFactoryUtils.java
C:\springframework\jca\work\jboss\JBossWorkManagerUtils.java
C:\springframework\jdbc\core\namedparam\NamedParameterUtils.java
C:\springframework\jdbc\core\namedparam\SqlParameterSourceUtils.java
C:\springframework\jdbc\core\StatementCreatorUtils.java
C:\springframework\jdbc\datasource\DataSourceUtils.java
C:\springframework\jdbc\support\JdbcUtils.java
C:\springframework\jdbc\support\lob\LobCreatorUtils.java
C:\springframework\jms\connection\ConnectionFactoryUtils.java
C:\springframework\jms\support\JmsUtils.java
C:\springframework\jmx\export\metadata\JmxMetadataUtils.java
C:\springframework\jmx\support\JmxUtils.java
C:\springframework\orm\hibernate3\SessionFactoryUtils.java
C:\springframework\orm\jdo\PersistenceManagerFactoryUtils.java
C:\springframework\orm\toplink\SessionFactoryUtils.java
C:\springframework\remoting\rmi\RmiClientInterceptorUtils.java
C:\springframework\remoting\support\RemoteInvocationUtils.java
C:\springframework\scripting\bsh\BshScriptUtils.java
C:\springframework\scripting\config\LangNamespaceUtils.java
C:\springframework\scripting\jruby\JRubyScriptUtils.java
C:\springframework\transaction\config\TxNamespaceUtils.java
C:\springframework\transaction\support\TransactionSynchronizationUtils.java
C:\springframework\ui\context\support\UiApplicationContextUtils.java
C:\springframework\ui\freemarker\FreeMarkerTemplateUtils.java
C:\springframework\ui\jasperreports\JasperReportsUtils.java
C:\springframework\ui\velocity\VelocityEngineUtils.java
C:\springframework\util\ClassLoaderUtils.java
C:\springframework\util\ClassUtils.java
C:\springframework\util\CollectionUtils.java
C:\springframework\util\FileCopyUtils.java
C:\springframework\util\FileSystemUtils.java
C:\springframework\util\NumberUtils.java
C:\springframework\util\ObjectUtils.java
C:\springframework\util\PatternMatchUtils.java
C:\springframework\util\ReflectionUtils.java
C:\springframework\util\ResourceUtils.java
C:\springframework\util\StringUtils.java
C:\springframework\util\SystemPropertyUtils.java
C:\springframework\util\TypeUtils.java
C:\springframework\util\xml\DomUtils.java
C:\springframework\validation\BindingResultUtils.java
C:\springframework\validation\ValidationUtils.java
C:\springframework\web\bind\RequestUtils.java
C:\springframework\web\bind\ServletRequestUtils.java
C:\springframework\web\context\support\WebApplicationContextUtils.java
C:\springframework\web\jsf\FacesContextUtils.java
C:\springframework\web\portlet\bind\PortletRequestUtils.java
C:\springframework\web\portlet\context\PortletApplicationContextUtils.java
C:\springframework\web\portlet\util\PortletUtils.java
C:\springframework\web\servlet\support\JstlUtils.java
C:\springframework\web\servlet\support\RequestContextUtils.java
C:\springframework\web\servlet\view\xslt\TransformerUtils.java
C:\springframework\web\struts\DelegatingActionUtils.java
C:\springframework\web\util\ExpressionEvaluationUtils.java
C:\springframework\web\util\HtmlUtils.java
C:\springframework\web\util\JavaScriptUtils.java
C:\springframework\web\util\TagUtils.java
C:\springframework\web\util\WebUtils.java


Tags: