From user-javakbarry@example.net Sat Nov 01 16:36:49 2008 Return-Path: <user-javakbarry@example.net> Delivered-To: kbarry@example.net Received: (qmail 39394 invoked from network); 1 Nov 2008 16:36:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Nov 2008 16:36:49 -0000 Received: (qmail 32133 invoked by uid 500); 1 Nov 2008 16:36:49 -0000 Delivered-To: kbarry@example.net Received: (qmail 32119 invoked by uid 500); 1 Nov 2008 16:36:48 -0000 Mailing-List: contact kbarry@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:kbarry@example.net> List-Unsubscribe: <mailto:kbarry@example.net> List-Post: <mailto:kbarry@example.net> List-Id: <user-java.ibatis.apache.org> Reply-To: kbarry@example.net Delivered-To: mailing list kbarry@example.net Received: (qmail 32108 invoked by uid 99); 1 Nov 2008 16:36:48 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 01 Nov 2008 09:36:48 -0700 X-ASF-Spam-Status: No, hits=-1.0 required=10.0 tests=RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kbarry@example.net designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO ciao.gmane.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 01 Nov 2008 16:35:30 +0000 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1KwJSK-0006VX-Jv for kbarry@example.net; Sat, 01 Nov 2008 16:36:08 +0000 Received: from e176190046.adsl.alicedsl.de ([83.161.120.155]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for <kbarry@example.net>; Sat, 01 Nov 2008 16:36:08 +0000 Received: from andreas.niemeyer by e176190046.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for <kbarry@example.net>; Sat, 01 Nov 2008 16:36:08 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: kbarry@example.net From: Andreas Niemeyer <kbarry@example.net> Subject: Re: JSF configuration with Spring? Date: Sat, 01 Nov 2008 17:35:57 +0100 Lines: 276 Message-ID: <kbarry@example.net> References: <kbarry@example.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: kbarry@example.net X-Gmane-NNTP-Posting-Host: e176190046.adsl.alicedsl.de User-Agent: Thunderbird 83.161.120.155 (Macintosh/20080914) In-Reply-To: <kbarry@example.net> Sender: news <kbarry@example.net> X-Virus-Checked: Checked by ClamAV on apache.org Hi, I got everything working now after a few hours investigation. The motivation was to get a basic setup working within a portlet AND a servlet environment with a simple implemented service layer in context of JSF. The promised simplicity of iBatis seemed to be ideal for the requirements: getting a loosly coupled DAO service, model undriven and flexible in configuration, extensibility and usage. The excellent SPRING support was not least the key between everything. Therefore a small summerize at this point how to glue JSF with Spring and iBatis. Some links helped me: http://ibatisnet.sourceforge.net/DevGuide.html http://www.developersbook.com/ibatis/iBatis-tutorials/iBatis-tutorials.php http://forum.springframework.org/showthread.php?t=19032&highlight=iBatis http://opensource.atlassian.com/confluence/spring/display/JSR168/Home http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/en/iBATIS-SqlMaps-2-Tutorial_en.pdf http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/en/iBATIS-SqlMaps-2_en.pdf The configuration based on facelets 1.1.14, myfaces 1.1.6, ibatis 83.161.120.1556, spring-framework 2.5.5 (spring.jar, spring-webmvc.jar, spring-webmvc-portlet.jar), the portal environment is liferay x. Only the relevant fragments are listed below portal type is independent. The approach was to simply call a db sequence as a first step, no classes of properties or resultsets mapped here. (shouldn't be a problem anymore) Kind regards, Andreas 1) faces-config.xml ... <application> <view-handler>com.sun.facelets.FaceletPortletViewHandler</view-handler> <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver> </application> ... 2) web.xml ... <context-param> <param-name>javax.faces.application.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value> </context-param> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/applicationContext.xml </param-value> </context-param> ... <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> ... 3) applicationContext.xml ... <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/XXX"/> </bean> <bean id="sqlMap" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="WEB-INF/classes/sqlmap-config.xml"/> <property name="dataSource" ref="dataSource"/> </bean> <bean id="sequencesBean" class="com.company.portlets.xxx.galery.dao.SequenceServiceImpl"> <property name="sqlMapClient" ref="sqlMap" /> </bean> ... 4) META-INF/context.xml ... <Resource name="jdbc/XXX" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/xxx?useUnicode=true&amp;characterEncoding=UTF-8" username="foo" password="foopass" maxActive="100" maxIdle="30" maxWait="10000" /> ... 5) sqlmap-config.xml ... <sqlMapConfig> <settings useStatementNamespaces="true"/> <sqlMap resource="ibatis-sql/sequences.xml"/> </sqlMapConfig> ... 6) sequences.xml ... <sqlMap namespace="sequences"> <select id="getUploadSequence" resultClass="long"> select nextval('galery_s_upload_id') </select> </sqlMap> ... 7) ISequenceService class package com.company.portlets.xxx.galery.dao; public interface ISequenceService { public long getUploadSequence() throws Exception ; } 8) SequenceServiceImpl class package com.company.portlets.xxx.galery.dao; import com.ibatis.sqlmap.client.SqlMapClient; public class SequenceServiceImpl implements ISequenceService { protected SqlMapClient sqlMap = null; public void setSqlMapClient(SqlMapClient sqlMap) { this.sqlMap = sqlMap; } public long getUploadSequence() throws Exception { return (Long)sqlMap.queryForObject("sequences.getUploadSequence"); } } 9) a JSF bean class ... import org.springframework.context.ApplicationContext; import com.company.portlets.xxx.galery.dao.ISequenceService; ... public long getServletuploadid() { ... long id_seq; ApplicationContext ctx = PortletJSFUtil.getApplicationContext(); ISequenceService service = (ISequenceService) ctx.getBean("sequencesBean"); try { id_seq = service.getUploadSequence(); } catch (Exception e) { pLogger.error(e.getMessage()); ... } } 10) a PortletJSFUtil class ... import javax.faces.context.ExternalContext; import javax.faces.context.FacesContext; import org.springframework.context.ApplicationContext; import org.springframework.web.portlet.context.PortletApplicationContextUtils; ... private static ExternalContext getExternalContext() { return FacesContext.getCurrentInstance().getExternalContext(); } public static ApplicationContext getApplicationContext() { return PortletApplicationContextUtils.getRequiredWebApplicationContext((PortletContext) getExternalContext().getContext()); } ... 11) in a servlet class ... import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.company.portlets.xxx.galery.dao.ISequenceService; ... WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext()); ISequenceService service=(ISequenceService)ctx.getBean("sequencesBean"); long id_seq = -1; try { id_seq = service.getUploadSequence(); } catch (Exception e) { pLogger.error(e.toString()); } ... Andreas Niemeyer schrieb: > Hi, > > Does someone knows a basic example for this combination? > > I found one tiny example which is a bit incomplete. I guess for Spring a > DelegatingVariableResolver is required for the managed beans. > > http://ffzhuang.blogspot.com/2007/04/jsf-spring-ibatis-integrate.html > > Thank you! > > > Kind regards, > Andreas > > From user-javakbarry@example.net Mon Nov 03 17:18:41 2008 Return-Path: <user-javakbarry@example.net> Delivered-To: kbarry@example.net Received: (qmail 17994 invoked from network); 3 Nov 2008 17:18:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Nov 2008 17:18:41 -0000 Received: (qmail 76303 invoked by uid 500); 3 Nov 2008 17:18:41 -0000 Delivered-To: kbarry@example.net Received: (qmail 76289 invoked by uid 500); 3 Nov 2008 17:18:41 -0000 Mailing-List: contact kbarry@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:kbarry@example.net> List-Unsubscribe: <mailto:kbarry@example.net> List-Post: <mailto:kbarry@example.net> List-Id: <user-java.ibatis.apache.org> Reply-To: kbarry@example.net Delivered-To: mailing list kbarry@example.net Received: (qmail 76278 invoked by uid 99); 3 Nov 2008 17:18:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2008 09:18:41 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kbarry@example.net designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO ug-out-1314.google.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2008 17:17:23 +0000 Received: by ug-out-1314.google.com with SMTP id a2so2676125ugf.1 for <kbarry@example.net>; Mon, 03 Nov 2008 09:17:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=dFLolA6GdTVZBE18fbi5zOk95Pdq/4IqznVWYsjb1c0=; b=pJvVf2OZO9tOcAIHiDsVQAIuJ/FwoVXLDXIkzCL8O47+pv7XHnuhHJa9NW1WpIvcBQ cVUnl2RBJ99jgoc3QHEpUVslzDiXGdbK8I1hbIeSdR3NJZgMul3KSx6Qwu/nHiRbepqa t77Pif3K4sPrGEa2rYbm9W2tZCto23RaNZRLU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=kBhN4hLbdDeBUvP7xPw9T6N9MkJtKmJKbQhOIM85Q1Gtv7OUpIC31iz4gLLSxoDDSa I6hka6i+rcIem4GpRX1N7RJAc68ISzt8XA5d7Ue/KNSeSnEsV7QGx3P/VjAmXn4eC56U js5n0+j/O+SNwscwPPdYx6Yl6hkCN4O3mcvBQ= Received: by 83.161.120.155 with SMTP id f14mr2216113ugh.12.1225732679078; Mon, 03 Nov 2008 09:17:59 -0800 (PST) Received: by 83.161.120.155 with HTTP; Mon, 3 Nov 2008 09:17:59 -0800 (PST) Message-ID: <kbarry@example.net> Date: Mon, 3 Nov 2008 11:17:59 -0600 From: "Jeff Butler" <kbarry@example.net> To: kbarry@example.net, kbarry@example.net Subject: Re: blob vs clob in mysql In-Reply-To: <kbarry@example.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <kbarry@example.net> <kbarry@example.net> <kbarry@example.net> X-Virus-Checked: Checked by ClamAV on apache.org With the combination of byte[] and CLOB, iBATIS should use the ByteArrayTypeHandler. This type hander executes the JDBC call ResultSet.getBytes(). With the combination of byte[] and BLOB or LONGVARBINARY, iBATIS should use BlobTypeHandlerCallback. This type handler basically executes the JDBC call ResultSet.getBlob().getBytes(). It might be enlightening to know where the exception is being thrown. That might help track down the error. Jeff Butler On Fri, Oct 31, 2008 at 10:20 AM, Jason Sheedy <kbarry@example.net> wrote: > Hi Jeff, > the result type is indeed byte[]. The strange thing is that it works fine > when using CLOB as the jdbcType, but not BLOG or LONGVARBINARY. I used > abator to create the initial mapping, but I'm actually a bit unclear about > the purpose of LONGVARBINARY. Any idea what the difference is between that > and BLOG? I know CLOB is supposed to be used for character data... > > Cheers, > > Jason > > 2008/11/1 Jeff Butler <kbarry@example.net> >> >> What is the Java type of the file_data propoerty in your result >> class? Should be byte[] for a BLOB. >> >> Jeff Butler >> >> On Thu, Oct 30, 2008 at 7:01 PM, Jason Sheedy <kbarry@example.net> >> wrote: >> > Hi, >> > I'm new to this list, so please excuse be kind. I'm trying to get my >> > head >> > around using blobs with ibatis/mysql and have run into an issue when >> > trying >> > to read the blobs back into my result map. >> > >> > For some unknown reason using BLOB or LONGVARBINARY for the jdbcType on >> > my >> > result map throws a strange exception. The binary data is written >> > correctly, but when i try and read it in i get the following exception. >> > >> > com.ibatis.sqlmap.client.SqlMapException: Error getting nested result >> > map >> > values >> > for 'attachments'. Cause: java.sql.SQLException: Not a valid escape >> > sequence: >> > >> > <resultMap id="compositeAttachment" class="........EQAttach" > >> > <result column="eq_attach_id" property="eqAttachId" >> > jdbcType="INTEGER" >> > /> >> > <result column="eq_id" property="eqId" jdbcType="INTEGER" /> >> > <result column="file_name" property="fileName" jdbcType="VARCHAR" /> >> > <result column="file_size" property="size" jdbcType="SMALLINT" /> >> > <result column="file_data" property="fileContent" jdbcType="BLOB" /> >> > </resultMap> >> > >> > The really strange thing is that everything works ok if I user CLOB as >> > the >> > jdbcType. My data type on the mysql field is blob. >> > >> > Any tips would be appreciated. >> > >> > >> > -- >> > Jason Sheedy >> > www.bytespring.com >> > www.jmpj.net >> > >> > --------------------------------------------------------------------------------------------- >> > >> > --------------------------------------------------------------------------------------------- >> > > > > > -- > Jason Sheedy > www.bytespring.com > www.jmpj.net > --------------------------------------------------------------------------------------------- > --------------------------------------------------------------------------------------------- > From user-javakbarry@example.net Mon Nov 03 23:14:51 2008 Return-Path: <user-javakbarry@example.net> Delivered-To: kbarry@example.net Received: (qmail 27511 invoked from network); 3 Nov 2008 23:14:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Nov 2008 23:14:51 -0000 Received: (qmail 1247 invoked by uid 500); 3 Nov 2008 23:14:56 -0000 Delivered-To: kbarry@example.net Received: (qmail 1235 invoked by uid 500); 3 Nov 2008 23:14:56 -0000 Mailing-List: contact kbarry@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:kbarry@example.net> List-Unsubscribe: <mailto:kbarry@example.net> List-Post: <mailto:kbarry@example.net> List-Id: <user-java.ibatis.apache.org> Reply-To: kbarry@example.net Delivered-To: mailing list kbarry@example.net Received: (qmail 1224 invoked by uid 99); 3 Nov 2008 23:14:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2008 15:14:56 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kbarry@example.net designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO nf-out-0910.google.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2008 23:13:40 +0000 Received: by nf-out-0910.google.com with SMTP id 30so1130477nfu.46 for <kbarry@example.net>; Mon, 03 Nov 2008 15:14:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=0mvcpaTAoeh+fRPvMhKPV4+Xd/VEwfVZR0sDZ0G1kBc=; b=hOziPEyiGwXcTnwAru8yh9sThAKBqB7BeWjcIcMQ4pGutt86CI8chuCaQ05dtKef2v uZ+9QSqSDBPW+F4NkYt2TFxcoJPmxYg+1s4SKomZTJhHsAOI7yY6XPeSlnSMCwNhSqEz n+0oCESH/EW3y/+rtpmUO8z+FV7CCtifcKTe4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=C71lzsc/CPLKjvEcMohXsfYJSp6Ouh5Aie5Kk951VIOugUw9o9y6goM+81j4qcs9fr 7qfTqZWlfDdeZFEzPhCNi5UTfqPyYOWFQHx9renK55BjVogSrXHTaDIzD01jRN0wTyT2 0WAlzZuOsLdvhgJ+Yv9koGoSZPJIWc+ZZtzTI= Received: by 83.161.120.155 with SMTP id o14mr789689ebo.171.1225753596971; Mon, 03 Nov 2008 15:06:36 -0800 (PST) Received: by 83.161.120.155 with HTTP; Mon, 3 Nov 2008 15:06:36 -0800 (PST) Message-ID: <kbarry@example.net> Date: Mon, 3 Nov 2008 18:06:36 -0500 From: Rick <kbarry@example.net> To: kbarry@example.net Subject: iBATIS with Tomcat vs JBoss MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Checked: Checked by ClamAV on apache.org After wrestling with JPA/Hibernate for a bit I'm not seeing all the gain and there are ton of 'gotchas' you have to look out for, so I'm thinking of skipping even using JBoss since I really don't have to use EJBs if I'm using iBATIS, and instead just going to my old faithful Tomcat/iBATIS setup. (The app will be 95% read only. Feeds meta data to the front end gui for display prompts available to the user.) (By the way yes I know you can use OpenEJB inside of Tomcat, but it just seemed easier using a JBoss setup since I'm already familiar with it.) The app will mostly get hit by about 2K users all at the same time when they login to try to get a list of reports available to kbarry@example.net. Are there some major performance gains I'll get using JBoss over Tomcat? Tomcat over JBoss? Are there any other issues I should consider before I make the switch? Thanks -- Rick From user-javakbarry@example.net Wed Nov 05 11:37:09 2008 Return-Path: <user-javakbarry@example.net> Delivered-To: kbarry@example.net Received: (qmail 20889 invoked from network); 5 Nov 2008 11:37:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 5 Nov 2008 11:37:09 -0000 Received: (qmail 42660 invoked by uid 500); 5 Nov 2008 11:37:12 -0000 Delivered-To: kbarry@example.net Received: (qmail 42636 invoked by uid 500); 5 Nov 2008 11:37:11 -0000 Mailing-List: contact kbarry@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:kbarry@example.net> List-Unsubscribe: <mailto:kbarry@example.net> List-Post: <mailto:kbarry@example.net> List-Id: <user-java.ibatis.apache.org> Reply-To: kbarry@example.net Delivered-To: mailing list kbarry@example.net Received: (qmail 42625 invoked by uid 99); 5 Nov 2008 11:37:11 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 03:37:11 -0800 X-ASF-Spam-Status: No, hits=2.8 required=10.0 tests=HTML_MESSAGE,MIME_QP_LONG_LINE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [83.161.120.155] (HELO wipro-chn-out01.wipro.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 11:35:52 +0000 X-AuditID: cb5bdd88-ab723bb0000013bb-39-49118540d667 Received: from chn-snr-aa01.wipro.com (unknown [83.161.120.155]) by wipro-chn-out01.wipro.com (Symantec Mail Security) with ESMTP id 47DFE93C8003 for <kbarry@example.net>; Wed, 5 Nov 2008 17:06:32 +0530 (IST) Received: from chn-snr-bh1.wipro.com ([83.161.120.155]) by chn-snr-aa01.wipro.com with Microsoft SMTPSVC734.426.7370); Wed, 5 Nov 2008 17:06:32 +0530 Received: from CHN-SNR-MBX01.wipro.com ([83.161.120.155]) by chn-snr-bh1.wipro.com with Microsoft SMTPSVC734.426.7370); Wed, 5 Nov 2008 17:06:31 +0530 Received: from PNE-HJN-MBX01.wipro.com ([83.161.120.155]) by CHN-SNR-MBX01.wipro.com with Microsoft SMTPSVC734.426.7370); Wed, 5 Nov 2008 17:06:31 +0530 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C93F3A.BF836FFC" Subject: How to prepare a parameter map with an List property? Date: Wed, 5 Nov 2008 17:06:31 +0530 Message-ID: <kbarry@example.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: How to prepare a parameter map with an List property? thread-index: Ack/Or+BVNtpBG8fTPKQD5s1DOTQKg== From: <kbarry@example.net> To: <kbarry@example.net> X-OriginalArrivalTime: 05 Nov 2008 11:36:31.0727 (UTC) FILETIME=[BFEAF7F0:01C93F3A] X-Brightmail-Tracker: AAAAAA== X-Virus-Checked: Checked by ClamAV on apache.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C93F3A.BF836FFC Content-Type: text/plain; charset="us-ascii" content-transfer-encoding: quoted-printable Hi, I want to prepare a parameter map that has a list property also. <parameterMap id =3D "Gold" class =3D "requestVO"> <parameter property =3D "previousDate" jdbcType =3D "DATE" javaType =3D "java.lang.String"/> <parameter property =3D "currentDate" jdbcType =3D "DATE" javaType =3D "java.lang.String"/> <parameter property =3D "keyList" jdbcType =3D "INTEGER" javaType =3D "java.lang.Integer"/> </parameterMap> <select id=3D"Team" parameterMap=3D"Gold" resultClass=3D"resultTO"> SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month, SUM(S.SPLTFACACCTCNT) AS dataCount FROM TAB1 S,TAB2 T WHERE S.TIMEKEY=3DT.TIMEKEY AND T.TIMEKEY BETWEEN ? AND ? AND S.KEY IN <iterate open=3D"(" close=3D")" conjunction=3D","> ? </iterate> AND T.MO IN ('03','06','09','12') GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR </select> Thanks in Advance Regards Ankit Please do not print this email unless it is absolutely necessary. =0A= =0A= The information contained in this electronic message and any attachments to= this message are intended for the exclusive use of the addressee(s) and may= contain proprietary, confidential or privileged information. If you are not= the intended recipient, you should not disseminate, distribute or copy this= e-mail. Please notify the sender immediately and destroy all copies of this= message and any attachments. =0A= =0A= WARNING: Computer viruses can be transmitted via email. The recipient should= check this email and any attachments for the presence of viruses. The compa= ny accepts no liability for any damage caused by any virus transmitted by th= is email. =0A= =0A= www.wipro.com ------_=_NextPart_001_01C93F3A.BF836FFC Content-Type: text/html; charset="us-ascii" content-transfer-encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii"> <META content=3D"MSHTML 6.00.2900.3429" name=3DGENERATOR></HEAD> <BODY> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2>Hi,</FONT></SPAN></DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2></FONT></SPAN>&nbsp;</DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2>I want t= o prepare a parameter map that has a list property also.</FONT></SPAN></DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2></FONT></SPAN>&nbsp;</DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2>&lt;para= meterMap id =3D "Gold" class =3D "requestVO"&gt;<BR>&nbsp; &nbsp;<BR>&nbsp; &nbsp;&lt;parameter property =3D "previousDate" jdbcType =3D "DATE" javaType= =3D "java.lang.String"/&gt;<BR>&nbsp; &nbsp;&lt;parameter property =3D "currentD= ate" jdbcType =3D "DATE" javaType =3D "java.lang.String"/&gt;<BR>&nbsp; &nbsp;&lt;parameter property =3D "keyList" jdbcType =3D "INTEGER" javaType = =3D "java.lang.Integer"/&gt;<BR>&nbsp; &nbsp;<BR>&nbsp; &nbsp;&lt;/parameterMap&gt;<BR>&nbsp;<BR>&nbsp;&lt;select id=3D"Team"<BR>&nbsp;parameterMap=3D"Gold"<BR>&nbsp;&nbsp;resultClass=3D"res= ultTO"&gt;</FONT></SPAN></DIV> <DIV>&nbsp;</DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2>&nbsp;&n= bsp;SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month,<BR>&nbsp;&nbsp;SUM(S.SPLTFACACCTCNT) AS dataCount FROM<BR>&nbsp;&nbsp;TAB1 S,TAB2 T<BR>&nbsp;&nbsp;WHERE S.TIMEKEY=3DT.TIMEKEY= AND T.TIMEKEY BETWEEN ? AND<BR>&nbsp;&nbsp;?<BR>&nbsp;&nbsp;AND&nbsp; S.KEY IN<BR>&nbsp;&nbsp;<STRONG>&lt;iterate open=3D"("<BR>&nbsp;&nbsp;&nbsp;close= =3D")" conjunction=3D","&gt;<BR>&nbsp;&nbsp;&nbsp;?<BR>&nbsp;&nbsp;&lt;/iterate&gt;= <BR></STRONG>&nbsp;&nbsp;AND T.MO IN ('03','06','09','12')&nbsp; GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WI= TH UR</FONT></SPAN></DIV> <DIV><FONT face=3DVerdana size=3D2></FONT>&nbsp;</DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2>&nbsp;&lt;/select&gt;</FONT></SPAN></DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2></FONT></SPAN>&nbsp;</DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2>Thanks i= n Advance</FONT></SPAN></DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2></FONT></SPAN>&nbsp;</DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2>Regards</FONT></SPAN></DIV> <DIV><SPAN class=3D207482511-05112008><FONT face=3DVerdana size=3D2>Ankit</FONT></SPAN></DIV><P><strong><span style=3D'font-size:10.0pt= ;font-family:=0A= "Palatino Linotype","serif";color:green'> Please do not print this email unl= ess it is absolutely necessary. </span></strong><span style=3D'font-family:"= Arial","sans-serif"'><o:p></o:p></span></p>=0A= =0A= =0A= <p> The information contained in this electronic message and any attachments= to this message are intended for the exclusive use of the addressee(s) and= may contain proprietary, confidential or privileged information. If you are= not the intended recipient, you should not disseminate, distribute or copy= this e-mail. Please notify the sender immediately and destroy all copies of= this message and any attachments. </p>=0A= =0A= <p>WARNING: Computer viruses can be transmitted via email. The recipient sho= uld check this email and any attachments for the presence of viruses. The co= mpany accepts no liability for any damage caused by any virus transmitted by= this email. </p>=0A= <p>=0A= www.wipro.com=0A= </p> </BODY></HTML> ------_=_NextPart_001_01C93F3A.BF836FFC-- From user-javakbarry@example.net Wed Nov 05 16:03:13 2008 Return-Path: <user-javakbarry@example.net> Delivered-To: kbarry@example.net Received: (qmail 55147 invoked from network); 5 Nov 2008 16:03:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 5 Nov 2008 16:03:13 -0000 Received: (qmail 89656 invoked by uid 500); 5 Nov 2008 16:03:18 -0000 Delivered-To: kbarry@example.net Received: (qmail 89639 invoked by uid 500); 5 Nov 2008 16:03:18 -0000 Mailing-List: contact kbarry@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:kbarry@example.net> List-Unsubscribe: <mailto:kbarry@example.net> List-Post: <mailto:kbarry@example.net> List-Id: <user-java.ibatis.apache.org> Reply-To: kbarry@example.net Delivered-To: mailing list kbarry@example.net Received: (qmail 89628 invoked by uid 99); 5 Nov 2008 16:03:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 08:03:18 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kbarry@example.net designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO ug-out-1314.google.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 16:02:02 +0000 Received: by ug-out-1314.google.com with SMTP id a2so635730ugf.1 for <kbarry@example.net>; Wed, 05 Nov 2008 08:02:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=k9nD+Fh7LSqOHNZ2zd6roN4ALaSj0MeU6RwqvPCVKdE=; b=TtMExF7guPSoMqMhc4C8XMX2mXZrOlca7vxdtmUbOmukQOlRgIXurXOWztFMIvgSoM PgZkn/0/M0t8XelZ2tQJJKyE/AlpAqj8D8NKLb0N6FIIh43V74irSaoo3seT69TyGgkT OvNAAooi74bJKwC6W0Z70yffY4lA9okZSQunE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=dveAdadiiVW2Y6PHyinb11gjJo0N26Z3pYOdBZkR7n6zkurFsF0RseeZoQbtAxq1fx Cmx+fG4VNomGQZZfSTM7aJ5/Jlbb6qYJB5ENK5DJDwuMW7Z/vrYHViGbW/loMVyBetSJ lrlOPj6JwnCE9FEUwkZuw2Og/n5BGud/NWVHE= Received: by 83.161.120.155 with SMTP id d2mr310667bkr.204.1225900962623; Wed, 05 Nov 2008 08:02:42 -0800 (PST) Received: by 83.161.120.155 with HTTP; Wed, 5 Nov 2008 08:02:42 -0800 (PST) Message-ID: <kbarry@example.net> Date: Wed, 5 Nov 2008 11:02:42 -0500 From: "David McReynolds" <kbarry@example.net> To: ibatis-user-list <kbarry@example.net> Subject: mapping multiple collections MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_10100_13846288.1225900962629" X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_10100_13846288.1225900962629 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I am working through a simple example where I have a table called "titles" that contains attributes about books. A title will have 1..* authors and a title will also have 1..* editors. Joining the titles and authors was simple enough. However, when I pull in the editors (using a join table) I found that I need to make adjustments. The "adjustment" I used was to make the Editor class comparable, make the Title class contain Set<Editor> editors and tell ibatis that the java type is "java.util.TreeSet". I don't see any obvious waste of resources since the result set itself has to return the different combinations of authors and editors (ie 2 authors and 3 editors equals 6 rows in the result set) and a RowHandler would have to deal with each row anyway. Am I missing something? public class Title Set<Editor> editors; . . . Using the TreeSet in the sql map prevents duplication. <resultMap groupBy="id" id="titleDetails" extends="abatorgenerated_TitleResult" class="net.bookstore.persist.vo.Title" > <result column="pub_id" property="publisher.id" jdbcType="CHAR" /> <result column="pub_name" property="publisher.pubName" jdbcType="CHAR" /> <result column="address" property="publisher.address" jdbcType="CHAR" /> <result column="city" property="publisher.city" jdbcType="CHAR" /> <result column="state" property="publisher.state" jdbcType="CHAR" /> <result property="authors" resultMap="authors.abatorgenerated_AuthorResult" column="au_id" javaType="java.util.TreeSet"/> <result property="editors" resultMap="editors.abatorgenerated_EditorResult" column="ed_id" javaType="java.util.TreeSet"/> </resultMap> -- dlm ------=_Part_10100_13846288.1225900962629 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I am working through a simple example where I have a table called &quot;titles&quot; that contains attributes about books. A title will have 1..* authors and a title will also have 1..* editors. Joining the titles and authors was simple enough. However, when I pull in the editors (using a join table) I found that I need to make adjustments. The &quot;adjustment&quot; I used was to make the Editor class comparable, make the Title class contain Set&lt;Editor&gt; editors and tell ibatis that the java type is &quot;java.util.TreeSet&quot;.<br> <br>I don&#39;t see any obvious waste of resources since the result set itself has to return the different combinations of authors and editors (ie 2 authors and 3 editors equals 6 rows in the result set) and a RowHandler would have to deal with each row anyway. Am I missing something?<br clear="all"> <br>public class Title <br>&nbsp;&nbsp;&nbsp; Set&lt;Editor&gt; editors;<br>&nbsp;. . .<br><br>Using the TreeSet in the sql map prevents duplication.<br><br>&nbsp; &lt;resultMap groupBy=&quot;id&quot; id=&quot;titleDetails&quot; extends=&quot;abatorgenerated_TitleResult&quot; class=&quot;net.bookstore.persist.vo.Title&quot; &gt;<br> &nbsp;&nbsp;&nbsp; &lt;result column=&quot;pub_id&quot; property=&quot;<a href="http://publisher.id">publisher.id</a>&quot; jdbcType=&quot;CHAR&quot; /&gt;<br>&nbsp;&nbsp;&nbsp; &lt;result column=&quot;pub_name&quot; property=&quot;publisher.pubName&quot; jdbcType=&quot;CHAR&quot; /&gt;<br> &nbsp;&nbsp;&nbsp; &lt;result column=&quot;address&quot; property=&quot;publisher.address&quot; jdbcType=&quot;CHAR&quot; /&gt;<br>&nbsp;&nbsp;&nbsp; &lt;result column=&quot;city&quot; property=&quot;publisher.city&quot; jdbcType=&quot;CHAR&quot; /&gt;<br> &nbsp;&nbsp;&nbsp; &lt;result column=&quot;state&quot; property=&quot;publisher.state&quot; jdbcType=&quot;CHAR&quot; /&gt;<br>&nbsp;&nbsp;&nbsp; &lt;result property=&quot;authors&quot; resultMap=&quot;authors.abatorgenerated_AuthorResult&quot; column=&quot;au_id&quot; javaType=&quot;java.util.TreeSet&quot;/&gt;<br> &nbsp;&nbsp;&nbsp; &lt;result property=&quot;editors&quot; resultMap=&quot;editors.abatorgenerated_EditorResult&quot; column=&quot;ed_id&quot; javaType=&quot;java.util.TreeSet&quot;/&gt;<br>&nbsp;&lt;/resultMap&gt;<br><br>--<br>dlm<br> ------=_Part_10100_13846288.1225900962629-- From user-javakbarry@example.net Wed Nov 05 17:24:02 2008 Return-Path: <user-javakbarry@example.net> Delivered-To: kbarry@example.net Received: (qmail 91245 invoked from network); 5 Nov 2008 17:24:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 5 Nov 2008 17:24:02 -0000 Received: (qmail 46104 invoked by uid 500); 5 Nov 2008 17:24:07 -0000 Delivered-To: kbarry@example.net Received: (qmail 46087 invoked by uid 500); 5 Nov 2008 17:24:07 -0000 Mailing-List: contact kbarry@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:kbarry@example.net> List-Unsubscribe: <mailto:kbarry@example.net> List-Post: <mailto:kbarry@example.net> List-Id: <user-java.ibatis.apache.org> Reply-To: kbarry@example.net Delivered-To: mailing list kbarry@example.net Received: (qmail 46064 invoked by uid 99); 5 Nov 2008 17:24:07 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 09:24:07 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kbarry@example.net designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO blu0-omc2-s18.blu0.hotmail.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 17:22:49 +0000 Received: from BLU145-W21 ([83.161.120.155]) by blu0-omc2-s18.blu0.hotmail.com with Microsoft SMTPSVC734.426.7370); Wed, 5 Nov 2008 09:23:29 -0800 Message-ID: <kbarry@example.net> Content-Type: multipart/alternative; boundary="_54b545b5-46c7-45b1-8466-efda909c86c5_" X-Originating-IP: [83.161.120.155] From: I L <kbarry@example.net> To: <kbarry@example.net> Subject: result element order matters? Date: Wed, 5 Nov 2008 17:23:29 +0000 Importance: Normal MIME-Version: 1.0 X-OriginalArrivalTime: 05 Nov 2008 17:23:29.0703 (UTC) FILETIME=[38660370:01C93F6B] X-Virus-Checked: Checked by ClamAV on apache.org --_54b545b5-46c7-45b1-8466-efda909c86c5_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable This took several days to figure out and is not intuitive. We assume it is = a bug.=20 We have a resultMap that has about 40 mappings. When we added a new column = to the result map=2C we started getting an error where a "select *" would n= ot include another unrelated column in the result set. To fix this=2C we mo= ved that unrelated column mapping further down the resultMap and everything= worked again. This is somewhat very difficult to explain so i'll try to do it via an exam= ple: Lets assume my result map is initially: <resultMap> <result column=3D"a"/> <result column=3D"b"/> <result column=3D"c"/> <resultMap> <select id=3D"find" parameterClass=3D"long" resultMap=3D"result"> select * from example where id =3D #id:BIGINT# </select> if I run the select "find"=2C I expect my result set to contain columns a= =2Cb and c. Then I added a new column x... <resultMap> <result column=3D"a"/> <result column=3D"x"/> <result column=3D"b"/> <result column=3D"c"/> <resultMap> When I run the select "find"=2C it would return a result set of only column= s a=2C x=2C c. It would ommit column b. But if I move column b to lets say after column c: <resultMap> <result column=3D"a"/> <result column=3D"x"/> <result column=3D"c"/> <result column=3D"b"/> <resultMap> Then the select "find" would return ALL the columns in the result set (a=2C= b=2Cc=2Cx). I hope that made sense. Here is the actual files I am using. I had to move "constructionImprovement= CostsAmount" to be after "pud" for the select find to work. When "construct= ionImprovementCostsAmount" used to be after "acquiredDate"=2C "construction= ImprovementCostsAmount" column was ommitted from the find result set and I = would get a=20 --- Cause: com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationExcep= tion: Column 'construction_improvement_costs_amount' cannot be null error because constructionImprovementCostsAmount was never sent back in the= result set. ---------------------------- xml ---------------------------- <?xml version=3D"1.0" encoding=3D"UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http:/= /ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace=3D"SubjectProperty"> <typeAlias alias=3D"SubjectPropertyAlias" type=3D"com.taggartsoftware.lur= a.business.model.SubjectProperty"/> =20 <resultMap class=3D"SubjectPropertyAlias" id=3D"SubjectPropertyResult"> <result column=3D"subject_property.pid" jdbcType=3D"BIGINT" property=3D= "pid"/> <result column=3D"subject_property.version" jdbcType=3D"INTEGER" proper= ty=3D"version"/> <result column=3D"subject_property.acquired_date" jdbcType=3D"DATE" pro= perty=3D"acquiredDate"/> <result column=3D"subject_property.financed_units_count" jdbcType=3D"IN= TEGER" property=3D"financedUnitsCount"/> <result column=3D"subject_property.land_estimated_value_amount" jdbcTyp= e=3D"DECIMAL" property=3D"landEstimatedValueAmount"/> <result column=3D"subject_property.land_original_cost_amount" jdbcType= =3D"DECIMAL" property=3D"landOriginalCostAmount"/> <result column=3D"subject_property.leasehold_expiration_date" jdbcType= =3D"DATE" property=3D"leaseholdExpirationDate"/> <result column=3D"subject_property.legal_description" jdbcType=3D"VARCH= AR" property=3D"legalDescription"/> <result column=3D"subject_property.management_agent_name" jdbcType=3D"V= ARCHAR" property=3D"managementAgentName"/> <result column=3D"subject_property.monthly_gross_rental_amount" jdbcTyp= e=3D"DECIMAL" property=3D"monthlyGrossRentalAmount"/> <result column=3D"subject_property.monthly_net_rental_amount" jdbcType= =3D"DECIMAL" property=3D"monthlyNetRentalAmount"/> <result column=3D"subject_property.net_rental_percent" jdbcType=3D"DECI= MAL" property=3D"netRentalPercent"/> <result column=3D"subject_property.original_cost_amount" jdbcType=3D"DE= CIMAL" property=3D"originalCostAmount"/> <result column=3D"subject_property.ownership_percent" jdbcType=3D"DECIM= AL" property=3D"ownershipPercent"/> <result column=3D"subject_property.place_pid" jdbcType=3D"BIGINT" prope= rty=3D"placePid"/> <result column=3D"subject_property.county_pid" jdbcType=3D"BIGINT" prop= erty=3D"countyPid"/> <result column=3D"subject_property.project_classification_type" jdbcTyp= e=3D"VARCHAR" property=3D"projectClassificationType"/> <result column=3D"subject_property.property_category_type" jdbcType=3D"= VARCHAR" property=3D"propertyCategoryType"/> <result column=3D"subject_property.property_rights_type" jdbcType=3D"VA= RCHAR" property=3D"propertyRightsType"/> <result column=3D"subject_property.pud" jdbcType=3D"BIT" property=3D"pu= d"/> <result column=3D"subject_property.construction_improvement_costs_amoun= t" jdbcType=3D"DECIMAL" property=3D"constructionImprovementCostsAmount"/> <result column=3D"subject_property.refinance_improvement_costs_amount" = jdbcType=3D"DECIMAL" property=3D"refinanceImprovementCostsAmount"/> <result column=3D"subject_property.refinance_improvements_type" jdbcTyp= e=3D"VARCHAR" property=3D"refinanceImprovementsType"/> <result column=3D"subject_property.refinance_proposed_improvements_desc= ription" jdbcType=3D"VARCHAR" property=3D"refinanceProposedImprovementsDesc= ription"/> <result column=3D"subject_property.structure_built_year" jdbcType=3D"IN= TEGER" property=3D"structureBuiltYear"/> <result column=3D"subject_property.title_manner_held_description" jdbcT= ype=3D"VARCHAR" property=3D"titleMannerHeldDescription"/> <result column=3D"subject_property.deal_pid" jdbcType=3D"BIGINT" proper= ty=3D"dealPid"/> <result column=3D"subject_property.building_status_type" jdbcType=3D"VA= RCHAR" property=3D"buildingStatusType" /> <result column=3D"subject_property.native_american_lands_type" jdbcType= =3D"VARCHAR" property=3D"nativeAmericanLandsType" /> <result column=3D"subject_property.community_land_trust" jdbcType=3D"BI= T" property=3D"communityLandTrust" /> <result column=3D"subject_property.inclusionary_zoning" jdbcType=3D"BIT= " property=3D"inclusionaryZoning" /> <result column=3D"subject_property.ownership_type" jdbcType=3D"VARCHAR"= property=3D"ownershipType" /> <result column=3D"subject_property.unique_dwelling_type" jdbcType=3D"VA= RCHAR" property=3D"uniqueDwellingType" /> <result column=3D"subject_property.living_unit_count" jdbcType=3D"INTEG= ER" property=3D"livingUnitCount" /> <result column=3D"subject_property.project_design_type" jdbcType=3D"VAR= CHAR" property=3D"projectDesignType" /> <result column=3D"subject_property.new_mode" jdbcType=3D"BIT" property= =3D"newMode"/> </resultMap> =20 <resultMap class=3D"SubjectPropertyAlias" id=3D"SubjectPropertyWithTran= sients" extends=3D"SubjectPropertyResult" groupBy=3D"pid"> <result property=3D"transientPlace" resultMap=3D"Place.PlaceResult"= /> </resultMap> =20 <select id=3D"find" parameterClass=3D"long" resultMap=3D"SubjectPropert= yResult"> select * from subject_property where pid =3D #pid:BIGINT# </select> =20 <select id=3D"version" parameterClass=3D"long" resultClass=3D"int"> SELECT version FROM subject_property WHERE pid =3D #pid:BIGINT# </select> =20 <delete id=3D"delete" parameterClass=3D"SubjectPropertyAlias"> delete from subject_property where pid =3D #pid:BIGINT# </delete> =20 <insert id=3D"insert" parameterClass=3D"SubjectPropertyAlias"> INSERT INTO subject_property=20 ( version=2C=20 acquired_date=2C=20 construction_improvement_costs_amount=2C financed_units_count=2C=20 land_estimated_value_amount=2C=20 land_original_cost_amount=2C leasehold_expiration_date=2C=20 legal_description=2C=20 management_agent_name=2C monthly_gross_rental_amount=2C=20 monthly_net_rental_amount=2C=20 net_rental_percent=2C original_cost_amount=2C=20 ownership_percent=2C=20 place_pid=2C=20 county_pid=2C project_classification_type=2C property_category_type=2C=20 property_rights_type=2C=20 pud=2C=20 refinance_improvement_costs_amount=2C refinance_improvements_type=2C=20 refinance_proposed_improvements_description=2C structure_built_year=2C=20 title_manner_held_description=2C=20 deal_pid=2C building_status_type=2C=20 native_american_lands_type=2C=20 community_land_trust=2C=20 inclusionary_zoning=2C=20 ownership_type=2C=20 unique_dwelling_type=2C=20 living_unit_count=2C=20 project_design_type=2C new_mode )=20 VALUES=20 ( #version:INTEGER#=2C=20 #acquiredDate:DATE#=2C #constructionImprovementCostsAmount:DECIMAL#=2C #financedUnitsCount:INTEGER#=2C=20 #landEstimatedValueAmount:DECIMAL#=2C #landOriginalCostAmount:DECIMAL#=2C=20 #leaseholdExpirationDate:DATE#=2C #legalDescription:VARCHAR#=2C #managementAgentName:VARCHAR#=2C=20 #monthlyGrossRentalAmount:DECIMAL#=2C #monthlyNetRentalAmount:DECIMAL#=2C=20 #netRentalPercent:DECIMAL#=2C=20 #originalCostAmount:DECIMAL#=2C #ownershipPercent:DECIMAL#=2C=20 #placePid:BIGINT#=2C=20 #countyPid:BIGINT#=2C #projectClassificationType:VARCHAR#=2C #propertyCategoryType:VARCHAR#=2C=20 #propertyRightsType:VARCHAR#=2C #pud:BIT#=2C #refinanceImprovementCostsAmount:DECIMAL#=2C=20 #refinanceImprovementsType:VARCHAR#=2C #refinanceProposedImprovementsDescription:VARCHAR#=2C=20 #structureBuiltYear:INTEGER#=2C #titleMannerHeldDescription:VARCHAR#=2C=20 #dealPid:BIGINT#=2C #buildingStatusType:VARCHAR#=2C=20 #nativeAmericanLandsType:VARCHAR#=2C=20 #communityLandTrust:BIT#=2C=20 #inclusionaryZoning:BIT#=2C=20 #ownershipType:VARCHAR#=2C=20 #uniqueDwellingType:VARCHAR#=2C=20 #livingUnitCount:INTEGER#=2C=20 #projectDesignType:VARCHAR#=2C #newMode:BIT# ) <selectKey keyProperty=3D"pid" resultClass=3D"java.lang.Long" type= =3D"post"> SELECT LAST_INSERT_ID() </selectKey> </insert> =20 <update id=3D"update" parameterClass=3D"SubjectPropertyAlias"> UPDATE subject_property SET=20 version =3D #version:INTEGER#=2C acquired_date =3D #acquiredDate:DATE#=2C construction_improvement_costs_amount =3D #constructionImprovem= entCostsAmount:DECIMAL#=2C financed_units_count =3D #financedUnitsCount:INTEGER#=2C land_estimated_value_amount =3D #landEstimatedValueAmount:DECIM= AL#=2C land_original_cost_amount =3D #landOriginalCostAmount:DECIMAL#= =2C leasehold_expiration_date =3D #leaseholdExpirationDate:DATE#=2C legal_description =3D #legalDescription:VARCHAR#=2C management_agent_name =3D #managementAgentName:VARCHAR#=2C monthly_gross_rental_amount =3D #monthlyGrossRentalAmount:DECIM= AL#=2C monthly_net_rental_amount =3D #monthlyNetRentalAmount:DECIMAL#= =2C net_rental_percent =3D #netRentalPercent:DECIMAL#=2C original_cost_amount =3D #originalCostAmount:DECIMAL#=2C ownership_percent =3D #ownershipPercent:DECIMAL#=2C place_pid =3D #placePid:BIGINT#=2C county_pid =3D #countyPid:BIGINT#=2C project_classification_type =3D #projectClassificationType:VARC= HAR#=2C property_category_type =3D #propertyCategoryType:VARCHAR#=2C property_rights_type =3D #propertyRightsType:VARCHAR#=2C pud =3D #pud:BIT#=2C refinance_improvement_costs_amount =3D #refinanceImprovementCos= tsAmount:DECIMAL#=2C refinance_improvements_type =3D #refinanceImprovementsType:VARC= HAR#=2C refinance_proposed_improvements_description =3D #refinancePropo= sedImprovementsDescription:VARCHAR#=2C structure_built_year =3D #structureBuiltYear:INTEGER#=2C title_manner_held_description =3D #titleMannerHeldDescription:V= ARCHAR#=2C deal_pid =3D #dealPid:BIGINT#=2C building_status_type =3D #buildingStatusType:VARCHAR#=2C=20 native_american_lands_type =3D #nativeAmericanLandsType:VARCHAR= #=2C=20 community_land_trust =3D #communityLandTrust:BIT#=2C=20 inclusionary_zoning =3D #inclusionaryZoning:BIT#=2C=20 ownership_type =3D #ownershipType:VARCHAR#=2C=20 unique_dwelling_type =3D #uniqueDwellingType:VARCHAR#=2C=20 living_unit_count =3D #livingUnitCount:INTEGER#=2C=20 project_design_type =3D #projectDesignType:VARCHAR#=2C new_mode =3D #newMode:BIT# WHERE=20 pid =3D #pid:BIGINT# </update> <select id=3D"findByDeal" parameterClass=3D"long" resultMap=3D"SubjectP= ropertyResult"> SELECT *=20 FROM subject_property=20 WHERE deal_pid =3D #dealPid:BIGINT# </select> =20 <select id=3D"findByDealWithTransients" parameterClass=3D"long" resultM= ap=3D"SubjectPropertyWithTransients"> SELECT *=20 FROM subject_property=2C place WHERE deal_pid =3D #dealPid:BIGINT# AND place_pid =3D place.pid </select> =20 <select id=3D"findByPlace" parameterClass=3D"long" resultMap=3D"Subject= PropertyResult"> SELECT * FROM subject_property WHERE place_pid =3D #placePid:BIGINT= # </select> =20 <select id=3D"findByApplication" parameterClass=3D"long" resultMap=3D"S= ubjectPropertyResult"> SELECT *=20 FROM subject_property=2C application=20 WHERE application.pid =3D #applicationPid:BIGINT# AND application.d= eal_pid=3Dsubject_property.deal_pid </select> </sqlMap> ---------------------------- sql ---------------------------- create table subject_property ( pid bigint not null auto_increment=2C version integer not null=2C acquired_date date=2C construction_improvement_costs_amount numeric(15=2C0) not null=2C financed_units_count integer=2C land_estimated_value_amount numeric(15=2C0) not null=2C land_original_cost_amount numeric(15=2C0) not null=2C leasehold_expiration_date date=2C legal_description varchar(1024)=2C management_agent_name varchar(128)=2C monthly_gross_rental_amount numeric(15=2C2) not null=2C monthly_net_rental_amount numeric(15=2C2) not null=2C net_rental_percent numeric(11=2C9) not null=2C original_cost_amount numeric(15=2C0) not null=2C ownership_percent numeric(11=2C9) not null=2C place_pid bigint not null=2C county_pid bigint=2C project_classification_type varchar(32)=2C property_category_type varchar(32)=2C property_rights_type varchar(32)=2C pud bit=2C refinance_improvement_costs_amount numeric(15=2C0) not null=2C refinance_improvements_type varchar(32)=2C refinance_proposed_improvements_description varchar(32)=2C structure_built_year integer=2C title_manner_held_description varchar(256)=2C deal_pid bigint not null=2C building_status_type varchar(32) not null=2C native_american_lands_type varchar(32) not null=2C community_land_trust bit=2C inclusionary_zoning bit=2C ownership_type varchar(32) not null=2C unique_dwelling_type varchar(32) not null=2C living_unit_count integer=2C project_design_type varchar(32) not null=2C new_mode bit=2C primary key (pid) ) ENGINE=3DInnoDB=3B _________________________________________________________________ Stay up to date on your PC=2C the Web=2C and your mobile phone with Windows= Live http://clk.atdmt.com/MRT/go/119462413/direct/01/= --_54b545b5-46c7-45b1-8466-efda909c86c5_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <html> <head> <style> .hmmessage P { margin:0px=3B padding:0px } body.hmmessage { font-size: 10pt=3B font-family:Verdana } </style> </head> <body class=3D'hmmessage'> This took several days to figure out and is not intuitive. We assume it is = a bug. <br><br>We have a resultMap that has about 40 mappings. When we adde= d a new column to the result map=2C we started getting an error where a "se= lect *" would not include another unrelated column in the result set. To fi= x this=2C we moved that unrelated column mapping further down the resultMap= and everything worked again.<br><br>This is somewhat very difficult to exp= lain so i'll try to do it via an example:<br>Lets assume my result map is i= nitially:<br><br>&lt=3BresultMap&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B &lt=3Bresult column=3D"a"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B &lt=3Bresult column=3D"b"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B &lt=3Bresult column=3D"c"/&gt=3B<br>&lt=3BresultMap&gt=3B<br>= <br>&lt=3Bselect id=3D"find" parameterClass=3D"long" resultMap=3D"result"&g= t=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B select * f= rom example where id =3D #id:BIGINT#<br>&lt=3B/select&gt=3B<br><br>if I run= the select "find"=2C I expect my result set to contain columns a=2Cb and c= .<br><br>Then I added a new column x...<br><br>&lt=3BresultMap&gt=3B<br> &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"a"/&gt=3B<b= r>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"x"/&gt=3B= <br> &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"b"/&gt=3B<b= r> &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"c"/&gt=3B<b= r> &lt=3BresultMap&gt=3B<br><br>When I run the select "find"=2C it would retur= n a result set of only columns a=2C x=2C c. It would ommit column b.<br><br= ><br>But if I move column b to lets say after column c:<br><br>&lt=3Bresult= Map&gt=3B<br> &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"a"/&gt=3B<b= r> &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"x"/&gt=3B<b= r> &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"c"/&gt=3B<b= r> &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"b"/&gt=3B<b= r> &lt=3BresultMap&gt=3B<br><br>Then the select "find" would return ALL the co= lumns in the result set (a=2Cb=2Cc=2Cx).<br><br>I hope that made sense.<br>= <br>Here is the actual files I am using. I had to move "constructionImprove= mentCostsAmount" to be after "pud" for the select find to work. When "const= ructionImprovementCostsAmount" used to be after "acquiredDate"=2C "construc= tionImprovementCostsAmount" column was ommitted from the find result set an= d I would get a <br><br>--- Cause: com.mysql.jdbc.exceptions.MySQLIntegrity= ConstraintViolationException: Column 'construction_improvement_costs_amount= ' cannot be null<br><br>error because constructionImprovementCostsAmount wa= s never sent back in the result set.<br><br>----------------------------<br= >xml<br>----------------------------<br>&lt=3B?xml version=3D"1.0" encoding= =3D"UTF-8"?&gt=3B<br>&lt=3B!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DT= D SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"&gt=3B<br>&l= t=3BsqlMap namespace=3D"SubjectProperty"&gt=3B<br>&nbsp=3B &lt=3BtypeAlias = alias=3D"SubjectPropertyAlias" type=3D"com.taggartsoftware.lura.business.mo= del.SubjectProperty"/&gt=3B<br>&nbsp=3B <br>&nbsp=3B &lt=3BresultMap class= =3D"SubjectPropertyAlias" id=3D"SubjectPropertyResult"&gt=3B<br>&nbsp=3B&nb= sp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.pid" jdbcType=3D"BIGI= NT" property=3D"pid"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column= =3D"subject_property.version" jdbcType=3D"INTEGER" property=3D"version"/&gt= =3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.acq= uired_date" jdbcType=3D"DATE" property=3D"acquiredDate"/&gt=3B<br>&nbsp=3B&= nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.financed_units_coun= t" jdbcType=3D"INTEGER" property=3D"financedUnitsCount"/&gt=3B<br>&nbsp=3B&= nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.land_estimated_valu= e_amount" jdbcType=3D"DECIMAL" property=3D"landEstimatedValueAmount"/&gt=3B= <br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.land_o= riginal_cost_amount" jdbcType=3D"DECIMAL" property=3D"landOriginalCostAmoun= t"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_proper= ty.leasehold_expiration_date" jdbcType=3D"DATE" property=3D"leaseholdExpira= tionDate"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject= _property.legal_description" jdbcType=3D"VARCHAR" property=3D"legalDescript= ion"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_prop= erty.management_agent_name" jdbcType=3D"VARCHAR" property=3D"managementAgen= tName"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_pr= operty.monthly_gross_rental_amount" jdbcType=3D"DECIMAL" property=3D"monthl= yGrossRentalAmount"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column= =3D"subject_property.monthly_net_rental_amount" jdbcType=3D"DECIMAL" proper= ty=3D"monthlyNetRentalAmount"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresu= lt column=3D"subject_property.net_rental_percent" jdbcType=3D"DECIMAL" prop= erty=3D"netRentalPercent"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult c= olumn=3D"subject_property.original_cost_amount" jdbcType=3D"DECIMAL" proper= ty=3D"originalCostAmount"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult c= olumn=3D"subject_property.ownership_percent" jdbcType=3D"DECIMAL" property= =3D"ownershipPercent"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult colum= n=3D"subject_property.place_pid" jdbcType=3D"BIGINT" property=3D"placePid"/= &gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.= county_pid" jdbcType=3D"BIGINT" property=3D"countyPid"/&gt=3B<br>&nbsp=3B&n= bsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.project_classificati= on_type" jdbcType=3D"VARCHAR" property=3D"projectClassificationType"/&gt=3B= <br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.proper= ty_category_type" jdbcType=3D"VARCHAR" property=3D"propertyCategoryType"/&g= t=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.pr= operty_rights_type" jdbcType=3D"VARCHAR" property=3D"propertyRightsType"/&g= t=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.pu= d" jdbcType=3D"BIT" property=3D"pud"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt= =3Bresult column=3D"subject_property.construction_improvement_costs_amount"= jdbcType=3D"DECIMAL" property=3D"constructionImprovementCostsAmount"/&gt= =3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.ref= inance_improvement_costs_amount" jdbcType=3D"DECIMAL" property=3D"refinance= ImprovementCostsAmount"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult col= umn=3D"subject_property.refinance_improvements_type" jdbcType=3D"VARCHAR" p= roperty=3D"refinanceImprovementsType"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &l= t=3Bresult column=3D"subject_property.refinance_proposed_improvements_descr= iption" jdbcType=3D"VARCHAR" property=3D"refinanceProposedImprovementsDescr= iption"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_p= roperty.structure_built_year" jdbcType=3D"INTEGER" property=3D"structureBui= ltYear"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_p= roperty.title_manner_held_description" jdbcType=3D"VARCHAR" property=3D"tit= leMannerHeldDescription"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult co= lumn=3D"subject_property.deal_pid" jdbcType=3D"BIGINT" property=3D"dealPid"= /&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property= .building_status_type" jdbcType=3D"VARCHAR" property=3D"buildingStatusType"= /&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_propert= y.native_american_lands_type" jdbcType=3D"VARCHAR" property=3D"nativeAmeric= anLandsType" /&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"sub= ject_property.community_land_trust" jdbcType=3D"BIT" property=3D"communityL= andTrust" /&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subjec= t_property.inclusionary_zoning" jdbcType=3D"BIT" property=3D"inclusionaryZo= ning" /&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_pr= operty.ownership_type" jdbcType=3D"VARCHAR" property=3D"ownershipType" /&gt= =3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.uni= que_dwelling_type" jdbcType=3D"VARCHAR" property=3D"uniqueDwellingType" /&g= t=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.li= ving_unit_count" jdbcType=3D"INTEGER" property=3D"livingUnitCount" /&gt=3B<= br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.project= _design_type" jdbcType=3D"VARCHAR" property=3D"projectDesignType" /&gt=3B<b= r>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult column=3D"subject_property.new_mode= " jdbcType=3D"BIT" property=3D"newMode"/&gt=3B<br>&nbsp=3B &lt=3B/resultMap= &gt=3B<br>&nbsp=3B <br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3BresultMap class=3D"Su= bjectPropertyAlias" id=3D"SubjectPropertyWithTransients" extends=3D"Subject= PropertyResult" groupBy=3D"pid"&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B &lt=3Bresult property=3D"transientPlace" resultMap= =3D"Place.PlaceResult"/&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3B/resultMap&= gt=3B<br>&nbsp=3B <br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bselect id=3D"find" par= ameterClass=3D"long" resultMap=3D"SubjectPropertyResult"&gt=3B<br>&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B select *<br>&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B from subject_property<br>&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B where pid =3D #pid:BIGI= NT#<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3B/select&gt=3B<br>&nbsp=3B <br>&nbsp= =3B&nbsp=3B&nbsp=3B &lt=3Bselect id=3D"version" parameterClass=3D"long" res= ultClass=3D"int"&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B SELECT version FROM subject_property WHERE pid =3D #pid:BIGINT#<br>= &nbsp=3B&nbsp=3B&nbsp=3B &lt=3B/select&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B <b= r>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bdelete id=3D"delete" parameterClass=3D"Sub= jectPropertyAlias"&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B delete from subject_property<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B where pid =3D #pid:BIGINT#<br>&nbsp=3B&nbsp=3B&= nbsp=3B &lt=3B/delete&gt=3B<br>&nbsp=3B <br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3B= insert id=3D"insert" parameterClass=3D"SubjectPropertyAlias"&gt=3B<br>&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B INSERT INTO subject_pro= perty <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B (<br>&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B version=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B acquired_date=2C <br>&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= construction_improvement_costs_amount=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B financed_units_= count=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B land_estimated_value_amount=2C <br>&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B land_original_cost_amount=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B leasehold_expiration_da= te=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B legal_description=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B management_a= gent_name=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B monthly_gross_rental_amount=2C <br>&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B monthly_net_rental_amount=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B net_rental_percent=2C<b= r>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B original_cost_amount=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B ownership_perce= nt=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B place_pid=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B county_pid=2C<br>&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B project_classification_type=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B property_catego= ry_type=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B property_rights_type=2C <br>&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B pud= =2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B refinance_improvement_costs_amount=2C<br>&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B refinance_improvements_type=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B refinance_proposed_imp= rovements_description=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B structure_built_year=2C <br>&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B title_manner_held_description=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B deal_pid=2C<= br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B building_status_type=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B native_american= _lands_type=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B community_land_trust=2C <br>&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= inclusionary_zoning=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B ownership_type=2C <br>&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B unique_dwelling_type=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B living_unit_count=2C <br>&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B project_design_type=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B new_mode<br>&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B ) <br>&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B VALUES <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B (<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #version:INTEGER#=2C <br>&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B #acquiredDate:DATE#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #constructionImprovemen= tCostsAmount:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #financedUnitsCount:INTEGER#=2C= <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B #landEstimatedValueAmount:DECIMAL#=2C<br>&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= #landOriginalCostAmount:DECIMAL#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #leaseholdExpiration= Date:DATE#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #legalDescription:VARCHAR#=2C<br>&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B #managementAgentName:VARCHAR#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #monthlyGrossRentalA= mount:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #monthlyNetRentalAmount:DECIMAL#=2C <br= >&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B #netRentalPercent:DECIMAL#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #originalCos= tAmount:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #ownershipPercent:DECIMAL#=2C <br>&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B #placePid:BIGINT#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #countyPid:BIGINT#=2C<b= r>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B #projectClassificationType:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #pr= opertyCategoryType:VARCHAR#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #propertyRightsType:VARCHA= R#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B #pud:BIT#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #refinanceImprovementC= ostsAmount:DECIMAL#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #refinanceImprovementsType:VARCHAR= #=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B #refinanceProposedImprovementsDescription:VARCHAR#=2C= <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B #structureBuiltYear:INTEGER#=2C<br>&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #title= MannerHeldDescription:VARCHAR#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #dealPid:BIGINT#=2C<br>= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B #buildingStatusType:VARCHAR#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #nativeAmer= icanLandsType:VARCHAR#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #communityLandTrust:BIT#=2C <br= >&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B #inclusionaryZoning:BIT#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #ownershipType= :VARCHAR#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #uniqueDwellingType:VARCHAR#=2C <br>&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb= sp=3B #livingUnitCount:INTEGER#=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B #projectDesignType:VAR= CHAR#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B #newMode:BIT#<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B )<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B &lt=3BselectKey keyProperty=3D"pid" resultClass=3D"java.lang= .Long" type=3D"post"&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B SELECT LAST_INSERT_ID()<br>&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B &lt=3B/selectKey&gt=3B= <br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3B/insert&gt=3B<br>&nbsp=3B <br>&nbsp=3B&n= bsp=3B&nbsp=3B &lt=3Bupdate id=3D"update" parameterClass=3D"SubjectProperty= Alias"&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B UP= DATE subject_property SET <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B version =3D #version:INTEGER#= =2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B acquired_date =3D #acquiredDate:DATE#=2C<br>&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B construction_improvement_costs_amount =3D #constructionImprovementCosts= Amount:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B financed_units_count =3D #financedUnits= Count:INTEGER#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B land_estimated_value_amount =3D #landEs= timatedValueAmount:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B land_original_cost_amount = =3D #landOriginalCostAmount:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B leasehold_expirati= on_date =3D #leaseholdExpirationDate:DATE#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B legal_descri= ption =3D #legalDescription:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B management_agent_n= ame =3D #managementAgentName:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B monthly_gross_r= ental_amount =3D #monthlyGrossRentalAmount:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B mon= thly_net_rental_amount =3D #monthlyNetRentalAmount:DECIMAL#=2C<br>&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B net_rental_percent =3D #netRentalPercent:DECIMAL#=2C<br>&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= original_cost_amount =3D #originalCostAmount:DECIMAL#=2C<br>&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= ownership_percent =3D #ownershipPercent:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B place= _pid =3D #placePid:BIGINT#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B county_pid =3D #countyPid:BI= GINT#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B project_classification_type =3D #projectClassif= icationType:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B property_category_type =3D #proper= tyCategoryType:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B property_rights_type =3D #prope= rtyRightsType:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B pud =3D #pud:BIT#=2C<br>&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B refinance_improvement_costs_amount =3D #refinanceImprovementCostsA= mount:DECIMAL#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B refinance_improvements_type =3D #refina= nceImprovementsType:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B refinance_proposed_improve= ments_description =3D #refinanceProposedImprovementsDescription:VARCHAR#=2C= <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B structure_built_year =3D #structureBuiltYear:INTEGER#= =2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B title_manner_held_description =3D #titleMannerHeldDesc= ription:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B deal_pid =3D #dealPid:BIGINT#=2C<br>&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B building_status_type =3D #buildingStatusType:VARCHAR#=2C <br>&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B native_american_lands_type =3D #nativeAmericanLandsType:VARCHAR= #=2C <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B community_land_trust =3D #communityLandTrust:BIT#=2C= <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B inclusionary_zoning =3D #inclusionaryZoning:BIT#=2C <br= >&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B ownership_type =3D #ownershipType:VARCHAR#=2C <br>&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B unique_dwelling_type =3D #uniqueDwellingType:VARCHAR#=2C <br>&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B living_unit_count =3D #livingUnitCount:INTEGER#=2C <br>&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B pr= oject_design_type =3D #projectDesignType:VARCHAR#=2C<br>&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B new_m= ode =3D #newMode:BIT#<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B WHERE <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B pid =3D #pid:BIGINT#<br>&nbsp=3B&nbsp=3B&nbs= p=3B &lt=3B/update&gt=3B<br><br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bselect id=3D= "findByDeal" parameterClass=3D"long" resultMap=3D"SubjectPropertyResult"&gt= =3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B SELECT * <b= r>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B FROM subject_pro= perty <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B WHERE de= al_pid =3D #dealPid:BIGINT#<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3B/select&gt=3B= <br>&nbsp=3B&nbsp=3B&nbsp=3B <br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bselect id= =3D"findByDealWithTransients" parameterClass=3D"long" resultMap=3D"SubjectP= ropertyWithTransients"&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B SELECT * <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B FROM<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B subject_property=2C<br>&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B place<b= r>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B WHERE<br>&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B deal_pid =3D #dealPid:BIGINT#<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B AND place_pid =3D p= lace.pid<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3B/select&gt=3B<br>&nbsp=3B&nbsp= =3B&nbsp=3B <br>&nbsp=3B&nbsp=3B&nbsp=3B &lt=3Bselect id=3D"findByPlace" pa= rameterClass=3D"long" resultMap=3D"SubjectPropertyResult"&gt=3B<br>&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B SELECT * FROM subject_prop= erty WHERE place_pid =3D #placePid:BIGINT#<br>&nbsp=3B&nbsp=3B&nbsp=3B &lt= =3B/select&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B <br>&nbsp=3B&nbsp=3B&nbsp=3B &= lt=3Bselect id=3D"findByApplication" parameterClass=3D"long" resultMap=3D"S= ubjectPropertyResult"&gt=3B<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B SELECT * <br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B FROM subject_property=2C application <br>&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B&nbsp=3B&nbsp=3B&nbsp=3B WHERE application.pid =3D #applicationPid:BI= GINT# AND application.deal_pid=3Dsubject_property.deal_pid<br>&nbsp=3B&nbsp= =3B&nbsp=3B &lt=3B/select&gt=3B<br>&lt=3B/sqlMap&gt=3B<br><br><br><br><br><= br>----------------------------<br> sql<br> ----------------------------<br><br>&nbsp=3B&nbsp=3B&nbsp=3B create table s= ubject_property (<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B pid bigint not null auto_increment=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B version integer not null=2C<br>&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B acquired_date date=2C<br>&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B construction_improvement_co= sts_amount numeric(15=2C0) not null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B&nbsp=3B&nbsp=3B financed_units_count integer=2C<br>&nbsp=3B&nbsp=3B= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B land_estimated_value_amount numeri= c(15=2C0) not null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&n= bsp=3B land_original_cost_amount numeric(15=2C0) not null=2C<br>&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B leasehold_expiration_date dat= e=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B legal_desc= ription varchar(1024)=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B management_agent_name varchar(128)=2C<br>&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B monthly_gross_rental_amount numeric(15= =2C2) not null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B monthly_net_rental_amount numeric(15=2C2) not null=2C<br>&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B net_rental_percent numeric(11= =2C9) not null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B original_cost_amount numeric(15=2C0) not null=2C<br>&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B ownership_percent numeric(11=2C9) not= null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B place_= pid bigint not null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&= nbsp=3B county_pid bigint=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nb= sp=3B&nbsp=3B project_classification_type varchar(32)=2C<br>&nbsp=3B&nbsp= =3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B property_category_type varchar(= 32)=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B property= _rights_type varchar(32)=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B pud bit=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B= &nbsp=3B refinance_improvement_costs_amount numeric(15=2C0) not null=2C<br>= &nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B refinance_improvem= ents_type varchar(32)=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp= =3B&nbsp=3B refinance_proposed_improvements_description varchar(32)=2C<br>&= nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B structure_built_yea= r integer=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B ti= tle_manner_held_description varchar(256)=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B&nbsp=3B deal_pid bigint not null=2C<br>&nbsp=3B&nbsp= =3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B building_status_type varchar(32) not n= ull=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B native_american= _lands_type varchar(32) not null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nb= sp=3B&nbsp=3B community_land_trust bit=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp= =3B&nbsp=3B&nbsp=3B inclusionary_zoning bit=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B = &nbsp=3B&nbsp=3B&nbsp=3B ownership_type varchar(32) not null=2C<br>&nbsp=3B= &nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B unique_dwelling_type varchar(32) = not null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B living_uni= t_count integer=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp=3B&nbsp=3B&nbsp=3B pro= ject_design_type varchar(32) not null=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B &nbsp= =3B&nbsp=3B&nbsp=3B new_mode bit=2C<br>&nbsp=3B&nbsp=3B&nbsp=3B&nbsp=3B&nbs= p=3B&nbsp=3B&nbsp=3B primary key (pid)<br>&nbsp=3B&nbsp=3B&nbsp=3B ) ENGINE= =3DInnoDB=3B<br><br><br><br /><hr />Stay up to date on your PC=2C the Web= =2C and your mobile phone with Windows Live <a href=3D'http://clk.atdmt.com= /MRT/go/119462413/direct/01/' target=3D'_new'>Click here</a></body> </html>= --_54b545b5-46c7-45b1-8466-efda909c86c5_-- From user-javakbarry@example.net Wed Nov 05 18:23:45 2008 Return-Path: <user-javakbarry@example.net> Delivered-To: kbarry@example.net Received: (qmail 30160 invoked from network); 5 Nov 2008 18:23:45 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 5 Nov 2008 18:23:45 -0000 Received: (qmail 4382 invoked by uid 500); 5 Nov 2008 18:23:45 -0000 Delivered-To: kbarry@example.net Received: (qmail 4365 invoked by uid 500); 5 Nov 2008 18:23:45 -0000 Mailing-List: contact kbarry@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:kbarry@example.net> List-Unsubscribe: <mailto:kbarry@example.net> List-Post: <mailto:kbarry@example.net> List-Id: <user-java.ibatis.apache.org> Reply-To: kbarry@example.net Delivered-To: mailing list kbarry@example.net Received: (qmail 4349 invoked by uid 99); 5 Nov 2008 18:23:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 10:23:45 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [83.161.120.155] (HELO web52501.mail.re2.yahoo.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 05 Nov 2008 18:22:26 +0000 Received: (qmail 96202 invoked by uid 60001); 5 Nov 2008 18:22:56 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type:Message-ID; b=K8YQAWazqAFNwGwIgN6B3eZjubMAPM/JfnY8tOP7pBMnbA2CcYAWDFc+1O8g/OyIjs/TPnv/TtZy0zeH+3BSOvF3q4uoY3w/J/mbqxjCu09Yz3Xl29qKYDGKr8mSf8DNCqKof99JfBi0a7yiviZ797KVILANAIq09ki6cSPVpKE=; X-YMail-OSG: v1zTETMVM1meo7jfx6tOXwktz_CxqtBSV9tIrY_XO63rhjk3duUmLBfGAZTTTfuAoBypINy_gz98ay6UHRgXmsXe5kUyCwWgkRnyqFXvCxzOHVGMP_yCgt15QxiaOfpLvrMe6IZvZtun848a5KDVqYodcoc7bTSMw8Px6m_7LQbK5JT50RgjudgFcirK Received: from [83.161.120.155] by web52501.mail.re2.yahoo.com via HTTP; Wed, 05 Nov 2008 10:22:56 PST X-Mailer: YahooMailWebService/0.7.260.1 Date: Wed, 5 Nov 2008 10:22:56 -0800 (PST) From: kiran vuppla <kbarry@example.net> Reply-To: kbarry@example.net Subject: Re: How to prepare a parameter map with an List property? To: kbarry@example.net In-Reply-To: <kbarry@example.net> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-1587058788-1225909376=:94411" Message-ID: <kbarry@example.net> X-Virus-Checked: Checked by ClamAV on apache.org --0-1587058788-1225909376=:94411 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable You should add the list attribute inside the <iterate> tag. <select id=3D"Team" =A0parameterMap=3D"Gold" =A0=A0resultClass=3D"resultTO"> =A0 =A0=A0SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month, =A0=A0SUM(S.SPLTFACACCTCNT) AS dataCount FROM =A0=A0TAB1 S,TAB2 T =A0=A0WHERE S.TIMEKEY=3DT.TIMEKEY AND T.TIMEKEY BETWEEN #previousDate# AND #currentDate# =A0 <iterate property=3D"list" open=3D" AND S.KEY IN (" =A0=A0=A0close=3D")" conjunction=3D","> =A0=A0=A0 #keyList[]# =A0=A0</iterate> =A0=A0AND T.MO IN ('03','06','09','12')=A0 GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR =A0 =A0</select> -Kiran --- On Wed, 11/5/08, kbarry@example.net <kbarry@example.net> wr= ote: From: kbarry@example.net <kbarry@example.net> Subject: How to prepare a parameter map with an List property? To: kbarry@example.net Date: Wednesday, November 5, 2008, 5:36 AM =20 Hi, =A0 I want to prepare a parameter map that has a list property also. =A0 <parameterMap id =3D "Gold" class =3D "requestVO"> =A0 =A0 =A0 =A0<parameter property =3D "previousDate" jdbcType =3D "DATE" javaType =3D "java.lang.String"/> =A0 =A0<parameter property =3D "currentDate" jdbcType =3D "DATE" javaType =3D "java.lang.String"/> =A0 =A0<parameter property =3D "keyList" jdbcType =3D "INTEGER" javaType =3D "java.lang.Integer"/> =A0 =A0 =A0 =A0</parameterMap> =A0 =A0<select id=3D"Team" =A0parameterMap=3D"Gold" =A0=A0resultClass=3D"resultTO"> =A0 =A0=A0SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month, =A0=A0SUM(S.SPLTFACACCTCNT) AS dataCount FROM =A0=A0TAB1 S,TAB2 T =A0=A0WHERE S.TIMEKEY=3DT.TIMEKEY AND T.TIMEKEY BETWEEN ? AND =A0=A0? =A0=A0AND=A0 S.KEY IN =A0=A0<iterate open=3D"(" =A0=A0=A0close=3D")" conjunction=3D","> =A0=A0=A0? =A0=A0</iterate> =A0=A0AND T.MO IN ('03','06','09','12')=A0 GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR =A0 =A0</select> =A0 Thanks in Advance =A0 Regards Ankit Please do not print this email unless it is absolutely necessary. =20 The information contained in this electronic message and any attachments t= o this message are intended for the exclusive use of the addressee(s) and m= ay contain proprietary, confidential or privileged information. If you are = not the intended recipient, you should not disseminate, distribute or copy = this e-mail. Please notify the sender immediately and destroy all copies of= this message and any attachments.=20 WARNING: Computer viruses can be transmitted via email. The recipient shoul= d check this email and any attachments for the presence of viruses. The com= pany accepts no liability for any damage caused by any virus transmitted by= this email.=20 www.wipro.com =0A=0A=0A --0-1587058788-1225909376=:94411 Content-Type: text/html; charset=us-ascii <table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">You should add the list attribute inside the &lt;iterate&gt; tag.<br><br><span class="207482511-05112008"><font size="2" face="Verdana">&lt;select id="Team"<br>&nbsp;parameterMap="Gold"<br>&nbsp;&nbsp;resultClass="resultTO"&gt;</font></span> <div>&nbsp;</div> <div><span class="207482511-05112008"><font size="2" face="Verdana">&nbsp;&nbsp;SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month,<br>&nbsp;&nbsp;SUM(S.SPLTFACACCTCNT) AS dataCount FROM<br>&nbsp;&nbsp;TAB1 S,TAB2 T<br>&nbsp;&nbsp;WHERE S.TIMEKEY=T.TIMEKEY AND T.TIMEKEY BETWEEN #</font></span><span class="207482511-05112008"><font size="2" face="Verdana">previousDate</font></span><span class="207482511-05112008"><font size="2" face="Verdana"># AND #</font></span><span class="207482511-05112008"><font size="2" face="Verdana">currentDate</font></span><span class="207482511-05112008"><font size="2" face="Verdana">#<br>&nbsp; <strong><span style="color: rgb(0, 96, 191);">&lt;iterate property="list" open=" <span style="color: rgb(255, 0, 0);">AND S.KEY</span> IN ("</span><br style="color: rgb(0, 96, 191);"><span style="color: rgb(0, 96, 191);">&nbsp;&nbsp;&nbsp;close=")" conjunction=","&gt;</span><br style="color: rgb(0, 96, 191);"><span style="color: rgb(0, 96, 191);">&nbsp;&nbsp;&nbsp; #</span></strong></font></span><span style="color: rgb(0, 96, 191); font-weight: bold;" class="207482511-05112008"><font size="2" face="Verdana">keyList</font></span><span class="207482511-05112008"><font size="2" face="Verdana"><strong><span style="color: rgb(0, 96, 191);">[]#</span><br style="color: rgb(0, 96, 191);"><span style="color: rgb(0, 96, 191);">&nbsp;&nbsp;&lt;/iterate&gt;</span><br></strong>&nbsp;&nbsp;AND T.MO IN ('03','06','09','12')&nbsp; GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR</font></span></div> <div>&nbsp;</div> <div><span class="207482511-05112008"><font size="2" face="Verdana">&nbsp;&lt;/select&gt;<br><br>-Kiran<br><br></font></span></div><br>--- On <b>Wed, 11/5/08, kbarry@example.net <i>&lt;kbarry@example.net&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;">From: kbarry@example.net &lt;kbarry@example.net&gt;<br>Subject: How to prepare a parameter map with an List property?<br>To: kbarry@example.net<br>Date: Wednesday, November 5, 2008, 5:36 AM<br><br><div id="yiv281022763"> <div><span class="207482511-05112008"><font size="2" face="Verdana">Hi,</font></span></div> <div><span class="207482511-05112008"><font size="2" face="Verdana"></font></span>&nbsp;</div> <div><span class="207482511-05112008"><font size="2" face="Verdana">I want to prepare a parameter map that has a list property also.</font></span></div> <div><span class="207482511-05112008"><font size="2" face="Verdana"></font></span>&nbsp;</div> <div><span class="207482511-05112008"><font size="2" face="Verdana">&lt;parameterMap id = "Gold" class = "requestVO"&gt;<br>&nbsp; &nbsp;<br>&nbsp; &nbsp;&lt;parameter property = "previousDate" jdbcType = "DATE" javaType = "java.lang.String"/&gt;<br>&nbsp; &nbsp;&lt;parameter property = "currentDate" jdbcType = "DATE" javaType = "java.lang.String"/&gt;<br>&nbsp; &nbsp;&lt;parameter property = "keyList" jdbcType = "INTEGER" javaType = "java.lang.Integer"/&gt;<br>&nbsp; &nbsp;<br>&nbsp; &nbsp;&lt;/parameterMap&gt;<br>&nbsp;<br>&nbsp;&lt;select id="Team"<br>&nbsp;parameterMap="Gold"<br>&nbsp;&nbsp;resultClass="resultTO"&gt;</font></span></div> <div>&nbsp;</div> <div><span class="207482511-05112008"><font size="2" face="Verdana">&nbsp;&nbsp;SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month,<br>&nbsp;&nbsp;SUM(S.SPLTFACACCTCNT) AS dataCount FROM<br>&nbsp;&nbsp;TAB1 S,TAB2 T<br>&nbsp;&nbsp;WHERE S.TIMEKEY=T.TIMEKEY AND T.TIMEKEY BETWEEN ? AND<br>&nbsp;&nbsp;?<br>&nbsp;&nbsp;AND&nbsp; S.KEY IN<br>&nbsp;&nbsp;<strong>&lt;iterate open="("<br>&nbsp;&nbsp;&nbsp;close=")" conjunction=","&gt;<br>&nbsp;&nbsp;&nbsp;?<br>&nbsp;&nbsp;&lt;/iterate&gt;<br></strong>&nbsp;&nbsp;AND T.MO IN ('03','06','09','12')&nbsp; GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR</font></span></div> <div><font size="2" face="Verdana"></font>&nbsp;</div> <div><span class="207482511-05112008"><font size="2" face="Verdana">&nbsp;&lt;/select&gt;</font></span></div> <div><span class="207482511-05112008"><font size="2" face="Verdana"></font></span>&nbsp;</div> <div><span class="207482511-05112008"><font size="2" face="Verdana">Thanks in Advance</font></span></div> <div><span class="207482511-05112008"><font size="2" face="Verdana"></font></span>&nbsp;</div> <div><span class="207482511-05112008"><font size="2" face="Verdana">Regards</font></span></div> <div><span class="207482511-05112008"><font size="2" face="Verdana">Ankit</font></span></div><p><strong><span style="font-size: 10pt; font-family: &quot;Palatino Linotype&quot;,&quot;serif&quot;; color: green;"> Please do not print this email unless it is absolutely necessary. </span></strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"></span></p> <p> The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. </p> <p>WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. </p> <p> www.wipro.com </p> </div></blockquote></td></tr></table><br> --0-1587058788-1225909376=:94411-- From user-javakbarry@example.net Wed Nov 05 23:02:27 2008 Return-Path: <user-javakbarry@example.net> Delivered-To: kbarry@example.net Received: (qmail 45842 invoked from network); 5 Nov 2008 23:02:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 5 Nov 2008 23:02:27 -0000 Received: (qmail 19963 invoked by uid 500); 5 Nov 2008 23:02:27 -0000 Delivered-To: kbarry@example.net Received: (qmail 19945 invoked by uid 500); 5 Nov 2008 23:02:27 -0000 Mailing-List: contact kbarry@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:kbarry@example.net> List-Unsubscribe: <mailto:kbarry@example.net> List-Post: <mailto:kbarry@example.net> List-Id: <user-java.ibatis.apache.org> Reply-To: kbarry@example.net Delivered-To: mailing list kbarry@example.net Received: (qmail 19934 invoked by uid 99); 5 Nov 2008 23:02:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 15:02:27 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kbarry@example.net designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO col0-omc2-s17.col0.hotmail.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Nov 2008 23:01:07 +0000 Received: from COL109-W67 ([83.161.120.155]) by col0-omc2-s17.col0.hotmail.com with Microsoft SMTPSVC734.426.7370); Wed, 5 Nov 2008 15:01:28 -0800 Message-ID: <kbarry@example.net> Content-Type: multipart/alternative; boundary="_d408ccfc-76aa-4463-9a23-b8e090ae72c3_" X-Originating-IP: [83.161.120.155] From: kangsin <kbarry@example.net> To: <kbarry@example.net> Subject: RE: How to prepare a parameter map with an List property? Date: Wed, 5 Nov 2008 23:01:28 +0000 Importance: Normal In-Reply-To: <kbarry@example.net> References: <kbarry@example.net> <kbarry@example.net> MIME-Version: 1.0 X-OriginalArrivalTime: 05 Nov 2008 23:01:28.0445 (UTC) FILETIME=[6F787AD0:01C93F9A] X-Virus-Checked: Checked by ClamAV on apache.org --_d408ccfc-76aa-4463-9a23-b8e090ae72c3_ Content-Type: text/plain; charset="ks_c_5601-1987" Content-Transfer-Encoding: 8bit thanks for sharing this video with us samuel... and i was just checkin our individul assignment..as well as group presentation.. i think we should decide our topic pretty soon..today is wednesday already.. and our indi assignment is according the the topic of group presentation. Individual Reflective Essay This deliverable is a structured essay of a maximum of 3000 words. The essay is required to be critical in its nature. Starting from the selected topic for the formative presentation and the identified individual research question/focus, each student has to undertake further literature review (4 journal papers or peer reviewed conference proceedings) in addition to the items identified for the presentation. leader~~ leader~~~AMY~~~ where are you~~~~~?? Date: Wed, 5 Nov 2008 10:22:56 -0800From: kbarry@example.net: Re: How to prepare a parameter map with an List property?To: kbarry@example.net You should add the list attribute inside the <iterate> tag.<select id="Team" parameterMap="Gold" resultClass="resultTO"> SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month, SUM(S.SPLTFACACCTCNT) AS dataCount FROM TAB1 S,TAB2 T WHERE S.TIMEKEY=T.TIMEKEY AND T.TIMEKEY BETWEEN #previousDate# AND #currentDate# <iterate property="list" open=" AND S.KEY IN (" close=")" conjunction=","> #keyList[]# </iterate> AND T.MO IN ('03','06','09','12') GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR </select>-Kiran--- On Wed, 11/5/08, kbarry@example.net <kbarry@example.net> wrote: From: kbarry@example.net <kbarry@example.net>Subject: How to prepare a parameter map with an List property?To: kbarry@example.net: Wednesday, November 5, 2008, 5:36 AM Hi, I want to prepare a parameter map that has a list property also. <parameterMap id = "Gold" class = "requestVO"> <parameter property = "previousDate" jdbcType = "DATE" javaType = "java.lang.String"/> <parameter property = "currentDate" jdbcType = "DATE" javaType = "java.lang.String"/> <parameter property = "keyList" jdbcType = "INTEGER" javaType = "java.lang.Integer"/> </parameterMap> <select id="Team" parameterMap="Gold" resultClass="resultTO"> SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month, SUM(S.SPLTFACACCTCNT) AS dataCount FROM TAB1 S,TAB2 T WHERE S.TIMEKEY=T.TIMEKEY AND T.TIMEKEY BETWEEN ? AND ? AND S.KEY IN <iterate open="(" close=")" conjunction=","> ? </iterate> AND T.MO IN ('03','06','09','12') GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR </select> Thanks in Advance Regards Ankit Please do not print this email unless it is absolutely necessary. The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com --_d408ccfc-76aa-4463-9a23-b8e090ae72c3_ Content-Type: text/html; charset="ks_c_5601-1987" Content-Transfer-Encoding: 8bit <html> <head> <style> .hmmessage P { margin:0px; padding:0px } body.hmmessage { FONT-SIZE: 9pt; FONT-FAMILY:Tahoma } </style> </head> <body class='hmmessage'> thanks for sharing this video with us samuel...<BR> &nbsp;<BR> and i was just checkin our individul assignment..as well as group presentation..<BR> &nbsp;<BR> i think we should decide our topic pretty soon..today is wednesday already..<BR> &nbsp;<BR> and our indi assignment is according the the topic of group presentation.<BR> &nbsp;<BR> <P class=MsoNormal style="TEXT-JUSTIFY: inter-ideograph; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-US><FONT size=2><FONT color=#000000><FONT face=Arial>Individual Reflective Essay <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></FONT></SPAN></B></P> <P class=MsoNormal style="TEXT-JUSTIFY: inter-ideograph; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><SPAN lang=EN-US><FONT size=2><FONT color=#000000><FONT face=Arial>This deliverable is a structured essay of a maximum of 3000 words. The essay is required to be critical in its nature. Starting from the selected topic for the formative presentation and the identified individual research question/focus, each student has to undertake further literature review (4 journal papers or peer reviewed conference proceedings) in addition to the items identified for the presentation. <I style="mso-bidi-font-style: normal"><o:p></o:p></I></FONT></FONT></FONT></SPAN></P> &nbsp;<BR> leader~~ leader~~~AMY~~~ where are you~~~~~??<BR><BR><BR> <HR> <BR> Date: Wed, 5 Nov 2008 10:22:56 -0800<BR>From: kbarry@example.net<BR>Subject: Re: How to prepare a parameter map with an List property?<BR>To: kbarry@example.net<BR><BR><BR> <TABLE cellSpacing=0 cellPadding=0 border=0> <TBODY> <TR> <TD vAlign=top>You should add the list attribute inside the &lt;iterate&gt; tag.<BR><BR><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>&lt;select id="Team"<BR>&nbsp;parameterMap="Gold"<BR>&nbsp;&nbsp;resultClass="resultTO"&gt;</FONT></SPAN> <DIV>&nbsp;</DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>&nbsp;&nbsp;SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month,<BR>&nbsp;&nbsp;SUM(S.SPLTFACACCTCNT) AS dataCount FROM<BR>&nbsp;&nbsp;TAB1 S,TAB2 T<BR>&nbsp;&nbsp;WHERE S.TIMEKEY=T.TIMEKEY AND T.TIMEKEY BETWEEN #</FONT></SPAN><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>previousDate</FONT></SPAN><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2># AND #</FONT></SPAN><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>currentDate</FONT></SPAN><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>#<BR>&nbsp; <STRONG><SPAN style="COLOR: rgb(0,96,191)">&lt;iterate property="list" open=" <SPAN style="COLOR: rgb(255,0,0)">AND S.KEY</SPAN> IN ("</SPAN><BR style="COLOR: rgb(0,96,191)"><SPAN style="COLOR: rgb(0,96,191)">&nbsp;&nbsp;&nbsp;close=")" conjunction=","&gt;</SPAN><BR style="COLOR: rgb(0,96,191)"><SPAN style="COLOR: rgb(0,96,191)">&nbsp;&nbsp;&nbsp; #</SPAN></STRONG></ FONT></SPAN><SPAN class=EC_207482511-05112008 style="FONT-WEIGHT: bold; COLOR: rgb(0,96,191)"><FONT face=Verdana size=2>keyList</FONT></SPAN><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2><STRONG><SPAN style="COLOR: rgb(0,96,191)">[]#</SPAN><BR style="COLOR: rgb(0,96,191)"><SPAN style="COLOR: rgb(0,96,191)">&nbsp;&nbsp;&lt;/iterate&gt;</SPAN><BR></STRONG>&nbsp;&nbsp;AND T.MO IN ('03','06','09','12')&nbsp; GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR</FONT></SPAN></DIV> <DIV>&nbsp;</DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>&nbsp;&lt;/select&gt;<BR><BR>-Kiran<BR><BR></FONT></SPAN></DIV><BR>--- On <B>Wed, 11/5/08, kbarry@example.net <I>&lt;kbarry@example.net&gt;</I></B> wrote:<BR> <BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px">From: kbarry@example.net &lt;kbarry@example.net&gt;<BR>Subject: How to prepare a parameter map with an List property?<BR>To: kbarry@example.net<BR>Date: Wednesday, November 5, 2008, 5:36 AM<BR><BR> <DIV id=EC_yiv281022763> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>Hi,</FONT></SPAN></DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2></FONT></SPAN>&nbsp;</DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>I want to prepare a parameter map that has a list property also.</FONT></SPAN></DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2></FONT></SPAN>&nbsp;</DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>&lt;parameterMap id = "Gold" class = "requestVO"&gt;<BR>&nbsp; &nbsp;<BR>&nbsp; &nbsp;&lt;parameter property = "previousDate" jdbcType = "DATE" javaType = "java.lang.String"/&gt;<BR>&nbsp; &nbsp;&lt;parameter property = "currentDate" jdbcType = "DATE" javaType = "java.lang.String"/&gt;<BR>&nbsp; &nbsp;&lt;parameter property = "keyList" jdbcType = "INTEGER" javaType = "java.lang.Integer"/&gt;<BR>&nbsp; &nbsp;<BR>&nbsp; &nbsp;&lt;/parameterMap&gt;<BR>&nbsp;<BR>&nbsp;&lt;select id="Team"<BR>&nbsp;parameterMap="Gold"<BR>&nbsp;&nbsp;resultClass="resultTO"&gt;</FONT></SPAN></DIV> <DIV>&nbsp;</DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>&nbsp;&nbsp;SELECT YEAR(T.TIMEKEY) AS year,MONTH(T.TIMEKEY) AS month,<BR>&nbsp;&nbsp;SUM(S.SPLTFACACCTCNT) AS dataCount FROM<BR>&nbsp;&nbsp;TAB1 S,TAB2 T<BR>&nbsp;&nbsp;WHERE S.TIMEKEY=T.TIMEKEY AND T.TIMEKEY BETWEEN ? AND<BR>&nbsp;&nbsp;?<BR>&nbsp;&nbsp;AND&nbsp; S.KEY IN<BR>&nbsp;&nbsp;<STRONG>&lt;iterate open="("<BR>&nbsp;&nbsp;&nbsp;close=")" conjunction=","&gt;<BR>&nbsp;&nbsp;&nbsp;?<BR>&nbsp;&nbsp;&lt;/iterate&gt;<BR></STRONG>&nbsp;&nbsp;AND T.MO IN ('03','06','09','12')&nbsp; GROUP BY T.TIMEKEY ORDER BY T.TIMEKEY WITH UR</FONT></SPAN></DIV> <DIV><FONT face=Verdana size=2></FONT>&nbsp;</DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>&nbsp;&lt;/select&gt;</FONT></SPAN></DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2></FONT></SPAN>&nbsp;</DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>Thanks in Advance</FONT></SPAN></DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2></FONT></SPAN>&nbsp;</DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>Regards</FONT></SPAN></DIV> <DIV><SPAN class=EC_207482511-05112008><FONT face=Verdana size=2>Ankit</FONT></SPAN></DIV> <STRONG><SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Palatino Linotype','serif'">Please do not print this email unless it is absolutely necessary. </SPAN></STRONG><SPAN style="FONT-FAMILY: 'Arial','sans-serif'"></SPAN><BR> The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. <BR> WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the
{'source': 'Apache Software Foundation Public Mail Archives'}