Files
.externalToolBuilders
config
source
cpp
java
org
alfresco
example
filesys
jcr
model
repo
action
admin
attributes
hibernate
AttributeDAOHibernate.java
Attributes.hbm.xml
GlobalAttributeEntryDAOHibernate.java
ListEntryDAOHibernate.java
MapEntryDAOHibernate.java
AtrributeMethodNotImplemented.java
AttrQueryHelperImpl.java
AttrQueryTest.java
Attribute.java
AttributeConverter.java
AttributeDAO.java
AttributeImpl.java
AttributeMethodNotImplemented.java
AttributeServiceImpl.java
AttributeServiceTest.java
AttributeServiceTransportService.java
AttributeUnsupportedQueryType.java
AttributeValue.java
BooleanAttribute.java
BooleanAttributeImpl.java
BooleanAttributeValue.java
ByteAttribute.java
ByteAttributeImpl.java
ByteAttributeValue.java
DoubleAttribute.java
DoubleAttributeImpl.java
DoubleAttributeValue.java
FloatAttribute.java
FloatAttributeImpl.java
FloatAttributeValue.java
GlobalAttributeEntry.java
GlobalAttributeEntryDAO.java
GlobalAttributeEntryImpl.java
IntAttribute.java
IntAttributeImpl.java
IntAttributeValue.java
ListAttribute.java
ListAttributeImpl.java
ListAttributeValue.java
ListEntry.java
ListEntryDAO.java
ListEntryImpl.java
ListEntryKey.java
LongAttribute.java
LongAttributeImpl.java
LongAttributeValue.java
MapAttribute.java
MapAttributeImpl.java
MapAttributeValue.java
MapEntry.java
MapEntryDAO.java
MapEntryImpl.java
MapEntryKey.java
SerializableAttribute.java
SerializableAttributeImpl.java
SerializableAttributeValue.java
ShortAttribute.java
ShortAttributeImpl.java
ShortAttributeValue.java
StringAttribute.java
StringAttributeImpl.java
StringAttributeValue.java
audit
avm
cache
clt
coci
configuration
content
copy
deploy
descriptor
dictionary
domain
exporter
forum
importer
jscript
lock
model
module
node
ownable
policy
processor
remote
rule
search
security
service
template
transaction
version
workflow
sandbox
service
tools
util
apache
queryRegister.dtd
meta-inf
test-resources
web
.classpath
.project
build.xml
alfresco-community-repo/source/java/org/alfresco/repo/attributes/hibernate/MapEntryDAOHibernate.java
Britt Park e73ce68e8f Reworked MapEntry schema for better cache performance.
Set Attribute entities to be not lazy.
Additional AttributeService testing.
Fixed DoubleAttributeImpl's declaration to implement DoubleAttribute.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5566 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-04-26 15:53:13 +00:00

100 lines
3.6 KiB
Java

/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing
*/
package org.alfresco.repo.attributes.hibernate;
import java.util.List;
import org.alfresco.repo.attributes.MapAttribute;
import org.alfresco.repo.attributes.MapEntry;
import org.alfresco.repo.attributes.MapEntryDAO;
import org.alfresco.repo.attributes.MapEntryImpl;
import org.alfresco.repo.attributes.MapEntryKey;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
* Hibernate implementation of persistence for MapEntries.
* @author britt
*/
public class MapEntryDAOHibernate extends HibernateDaoSupport implements
MapEntryDAO
{
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#delete(org.alfresco.repo.attributes.MapEntry)
*/
public void delete(MapEntry entry)
{
getSession().delete(entry);
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#delete(org.alfresco.repo.attributes.MapAttribute)
*/
public void delete(MapAttribute mapAttr)
{
Query query = getSession().createQuery("delete from MapEntryImpl me where me.key.map = :map");
query.setEntity("map", mapAttr);
query.executeUpdate();
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#get(org.alfresco.repo.attributes.MapAttribute, java.lang.String)
*/
public MapEntry get(MapEntryKey key)
{
return (MapEntry)getSession().get(MapEntryImpl.class, key);
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#get(org.alfresco.repo.attributes.MapAttribute)
*/
@SuppressWarnings("unchecked")
public List<MapEntry> get(MapAttribute mapAttr)
{
Query query = getSession().createQuery("from MapEntryImpl me where me.key.map = :map");
query.setEntity("map", mapAttr);
return (List<MapEntry>)query.list();
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#save(org.alfresco.repo.attributes.MapEntry)
*/
public void save(MapEntry entry)
{
getSession().save(entry);
}
/* (non-Javadoc)
* @see org.alfresco.repo.attributes.MapEntryDAO#size(org.alfresco.repo.attributes.MapAttribute)
*/
public int size(MapAttribute mapAttr)
{
Query query = getSession().createQuery("select count(*) from MapEntryImpl me where me.key.map = :map");
query.setEntity("map", mapAttr);
return ((Long)query.uniqueResult()).intValue();
}
}