You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-user@db.apache.org by Mi...@bmwna.com on 2005/02/01 00:28:37 UTC

RE: [BULK] torque and spring

Johan-

I had to write an Abstract DAO that all my TorqueDAOs extend.

This abstract DAO provides the following functionality for getting and
releasing connections.

----------------

import org.springframework.jdbc.CannotGetJdbcConnectionException;
import org.springframework.jdbc.datasource.DataSourceUtils;


	/**
	 * Gets a connection
	 * 
	 * @return Connection
	 */
	protected Connection getConnection()
	{
		try
		{
			DataSource dataSource = (DataSource) Registry
					.get("dataSource");

			Connection conn =
DataSourceUtils.getConnection(dataSource);

			logger.debug("Got connection from pool");

			return conn;
		}
		catch (CannotGetJdbcConnectionException e)
		{
			throw new SystemException(e);
		}
	}

	/**
	 * Releases a connection
	 * 
	 * @return Connection
	 */
	protected void releaseConnection(Connection conn)
	{
		try
		{
			DataSource dataSource = (DataSource) Registry
					.get("dataSource");

			DataSourceUtils.closeConnectionIfNecessary(conn,
dataSource);

			logger.debug("Releasing connection back to pool");
		}
		catch (CannotGetJdbcConnectionException e)
		{
			throw new SystemException(e);
		}
	}
-----

You can then use the connection to call methods on your Peer classes in
order for Torque to participate in Spring-managed transactions.

This abstract DAO will also be responsible for handling Torque exceptions
via template methods for your CRUD operations.

For example, 

--------

	protected final Collection find(Criteria criteria)
	{
		Connection conn = null;
		Collection results = null;

		try
		{
			conn = getConnection();
			results = basicFind(criteria, conn);
		}
		finally
		{
			releaseConnection(conn);
		}

		return results;
	}

	/**
	 * Generic method for selecting table data based on freeform
criteria
	 * 
	 * @param criteria
	 *            Criteria
	 * @param conn
	 *            Connection
	 * @return Collection of appropriate domain object items
	 */
	public abstract Collection basicFind(Criteria criteria, Connection
conn);

-----------

As you can see, all my queries are Criteria driven and the actual
implementation is provided for in my derived class.

Michael


-----Original Message-----
From: Johan Andries [mailto:ja@schaubroeck.be] 
Sent: Monday, January 31, 2005 11:17 AM
To: Apache Torque Users List
Subject: Re: [BULK] torque and spring

Hi Michael,

specifically I'm looking whether it's possible to let the generated data 
access classes participate in transactions, i.e. to have datasources 
which take part in a transactioned context. Besides that, I was 
wondering whether it's possible to configure the classes dynamically 
with new datasources, and last but not least, do they have a flexible 
try/catch/finally solution (which was - face it - quite terrible when 
using plain old JDBC).
But mainly I don't know about this because I didn't have a lot of time 
yet to look at the generated classes.
That's why I posted on the list whether someone has already successfully 
integrated these classes into Spring or not. Because we really need to 
make a fast decision ATM - to decide between our own proprietary 
framework, Torque or maybe something else.

cheers,
Johan

Michael.Kashambuzi@bmwna.com wrote:

>Johan-
>
>What specifically are you looking for?
>
>Michael
>
>-----Original Message-----
>From: Johan Andries [mailto:ja@schaubroeck.be]
>Sent: Monday, January 31, 2005 8:59 AM
>To: torque-user@db.apache.org
>Subject: [BULK] torque and spring
>
>
>Hello,
>
>Has anyone ever done a successful attempt on integrating the generated 
>Torque Java classes in the Spring framework? I've searched the mailing 
>list archive and found no references to this.
>
>Kind regards,
>Johan
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
>For additional commands, e-mail: torque-user-help@db.apache.org
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
>For additional commands, e-mail: torque-user-help@db.apache.org
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Re: [BULK] torque and spring

Posted by Johan Andries <ja...@schaubroeck.be>.
Thanks a lot to everyone for clear answers :-)

If we make the decision to actually integrate with Torque and Spring,
I'll post our solution on the list (if my boss allows me to) ;-)

cheers
Johan


Michael.Kashambuzi@bmwna.com wrote:

>Johan-
>
>I had to write an Abstract DAO that all my TorqueDAOs extend.
>
>This abstract DAO provides the following functionality for getting and
>releasing connections.
>
>----------------
>
>import org.springframework.jdbc.CannotGetJdbcConnectionException;
>import org.springframework.jdbc.datasource.DataSourceUtils;
>
>
>	/**
>	 * Gets a connection
>	 * 
>	 * @return Connection
>	 */
>	protected Connection getConnection()
>	{
>		try
>		{
>			DataSource dataSource = (DataSource) Registry
>					.get("dataSource");
>
>			Connection conn =
>DataSourceUtils.getConnection(dataSource);
>
>			logger.debug("Got connection from pool");
>
>			return conn;
>		}
>		catch (CannotGetJdbcConnectionException e)
>		{
>			throw new SystemException(e);
>		}
>	}
>
>	/**
>	 * Releases a connection
>	 * 
>	 * @return Connection
>	 */
>	protected void releaseConnection(Connection conn)
>	{
>		try
>		{
>			DataSource dataSource = (DataSource) Registry
>					.get("dataSource");
>
>			DataSourceUtils.closeConnectionIfNecessary(conn,
>dataSource);
>
>			logger.debug("Releasing connection back to pool");
>		}
>		catch (CannotGetJdbcConnectionException e)
>		{
>			throw new SystemException(e);
>		}
>	}
>-----
>
>You can then use the connection to call methods on your Peer classes in
>order for Torque to participate in Spring-managed transactions.
>
>This abstract DAO will also be responsible for handling Torque exceptions
>via template methods for your CRUD operations.
>
>For example, 
>
>--------
>
>	protected final Collection find(Criteria criteria)
>	{
>		Connection conn = null;
>		Collection results = null;
>
>		try
>		{
>			conn = getConnection();
>			results = basicFind(criteria, conn);
>		}
>		finally
>		{
>			releaseConnection(conn);
>		}
>
>		return results;
>	}
>
>	/**
>	 * Generic method for selecting table data based on freeform
>criteria
>	 * 
>	 * @param criteria
>	 *            Criteria
>	 * @param conn
>	 *            Connection
>	 * @return Collection of appropriate domain object items
>	 */
>	public abstract Collection basicFind(Criteria criteria, Connection
>conn);
>
>-----------
>
>As you can see, all my queries are Criteria driven and the actual
>implementation is provided for in my derived class.
>
>Michael
>
>
>-----Original Message-----
>From: Johan Andries [mailto:ja@schaubroeck.be] 
>Sent: Monday, January 31, 2005 11:17 AM
>To: Apache Torque Users List
>Subject: Re: [BULK] torque and spring
>
>Hi Michael,
>
>specifically I'm looking whether it's possible to let the generated data 
>access classes participate in transactions, i.e. to have datasources 
>which take part in a transactioned context. Besides that, I was 
>wondering whether it's possible to configure the classes dynamically 
>with new datasources, and last but not least, do they have a flexible 
>try/catch/finally solution (which was - face it - quite terrible when 
>using plain old JDBC).
>But mainly I don't know about this because I didn't have a lot of time 
>yet to look at the generated classes.
>That's why I posted on the list whether someone has already successfully 
>integrated these classes into Spring or not. Because we really need to 
>make a fast decision ATM - to decide between our own proprietary 
>framework, Torque or maybe something else.
>
>cheers,
>Johan
>
>Michael.Kashambuzi@bmwna.com wrote:
>
>  
>
>>Johan-
>>
>>What specifically are you looking for?
>>
>>Michael
>>
>>-----Original Message-----
>>From: Johan Andries [mailto:ja@schaubroeck.be]
>>Sent: Monday, January 31, 2005 8:59 AM
>>To: torque-user@db.apache.org
>>Subject: [BULK] torque and spring
>>
>>
>>Hello,
>>
>>Has anyone ever done a successful attempt on integrating the generated 
>>Torque Java classes in the Spring framework? I've searched the mailing 
>>list archive and found no references to this.
>>
>>Kind regards,
>>Johan
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
>>For additional commands, e-mail: torque-user-help@db.apache.org
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
>>For additional commands, e-mail: torque-user-help@db.apache.org
>>
>>
>> 
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
>For additional commands, e-mail: torque-user-help@db.apache.org
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
>For additional commands, e-mail: torque-user-help@db.apache.org
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org