hi Stefan,

what I do in this case is the following:

1. model an entity operation, such as findByCriteria(SearchCriteria
searchCriteria), where the argument is a value object
2. make sure this operation is classifier scoped (underlined in UML diagrams)
3. generate code
4. you'll see this operation in <YourDAO>Impl
5. implement it using Hibernate criteria, like this (sample taken from a
AndroMDA-Spring implementation):

------------------------------------------------------
final Session session = getSession();
Criteria articleCriteria = getHibernateTemplate().createCriteria(session,
ArticleImpl.class);

if (StringUtils.isNotBlank(searchCriteria.getBarCode()))
{
    articleCriteria.add(Expression.eq("barCode",
searchCriteria.getBarCode()));
}

if (searchCriteria.getType() != null)
{
    Criteria typeCriteria = articleCriteria.createCriteria("type");
    typeCriteria.add(Expression.eq("id", searchCriteria.getType()));
}

List list = articleCriteria.list();
this.closeSessionIfNecessary(session);

toArticleListItem(list);
return list;
------------------------------------------------------

I think you get the idea .. there are different ways of course, depending
on the underlying technology (in this case Spring using Hibernate)

anyway, I think this could be part of the generation process .. I will
have to confer with Chad, but it *is* common functionality that
could/should be handled by the transformation

could you file an issue for it in JIRA ? do it under the Spring cartridge
and assign it to me

thanks
-- Wouter


> Hi everyone,
>
> we currently work on a very common functionality: A search dialog with
> about 15 attributes. If an attribute was entered in the dialog it should
> be considered as a parameter for the search. As I said, this is a very
> common functionality and we try to figure out a clever way of
> implementation. So we thought about modelling this type of search by
> creating a ValueObject containing the search-parameters. A finder-method
> on the spring-service and a (static) one on the spring-entity take this
> ValueObject as parameter. The spring-service delegates the call to the
> entity's DAO which dynamicly builds the query using Hibernate's Criteria
> API. Do you recon this is a good way of implementation?
>
> Thanks a lot for your input.
> Regards Stefan.
>
>




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
_______________________________________________
Andromda-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/andromda-user

Reply via email to