ibatis-user-cs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "DE VELDER Paul (PDVL)" <paul.devel...@certia.be>
Subject Lazy loading problem in Tutorial2 example
Date Mon, 10 Jul 2006 13:04:25 GMT
Hi,

I'm currently evaluating iBatis.net (DataMapper 1.5.0 and DataAccess 1.8.0)
in VS2005. So I started with het Tutorial2 example I found on
http://people.apache.org/dist/ibatis/ibatis.net/beta/tutorial2.zip
<http://people.apache.org/dist/ibatis/ibatis.net/beta/tutorial2.zip>  on an
Oracle 10g database.

In the supplied NUnit-test SelectAuthorAndBlogAndLazyPost() I get an error:

IBatisNet.DataMapper.SqlMapSession - Open Connection "3501721" to "Oracle,
Microsoft provider V1.0.5000.0".
IBatisNet.DataMapper.Commands.DefaultPreparedCommand - Statement Id:
[Author-Select] PreparedStatement : [SELECT        Authors.ID as AuthorID,
Authors.Name as AuthorName,        Authors.Login as AuthorLogin,
Authors.Password as AuthorPassword,        Blogs.ID as BlogID,
Blogs.Name as BlogName,        Blogs.Description as BlogDescription
FROM Authors, Blogs              WHERE        (Authors.ID =  :param0 )
AND        (Blogs.AuthorID = Authors.ID)]
IBatisNet.DataMapper.Commands.DefaultPreparedCommand - Statement Id:
[Author-Select] Parameters: [param0=[value,2]]
IBatisNet.DataMapper.Commands.DefaultPreparedCommand - Statement Id:
[Author-Select] Types: [param0=[Int32, System.Int32]]
IBatisNet.DataMapper.Commands.DefaultPreparedCommand - Statement Id:
[Post-Fill] PreparedStatement : [SELECT *        FROM Posts        WHERE
(BlogID =  :param0 )]
IBatisNet.DataMapper.Commands.DefaultPreparedCommand - Statement Id:
[Post-Fill] Parameters: [param0=[value,1]]
IBatisNet.DataMapper.Commands.DefaultPreparedCommand - Statement Id:
[Post-Fill] Types: [param0=[Decimal, System.Decimal]]
IBatisNet.DataMapper.SqlMapSession - Close Connection "3501721" to "Oracle,
Microsoft provider V1.0.5000.0".
TestCase 'Tutorial2.Test.TestDataMapper.SelectAuthorAndBlogAndLazyPost'
failed: System.Reflection.TargetInvocationException : Exception has been
thrown by the target of an invocation.
  ----> System.IndexOutOfRangeException : Content
	at System.RuntimeMethodHandle._InvokeMethodFast(Object target,
Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes,
RuntimeTypeHandle typeOwner)
	at System.RuntimeMethodHandle.InvokeMethodFast(Object target,
Object[] arguments, Signature sig, MethodAttributes methodAttributes,
RuntimeTypeHandle typeOwner)
	at System.Reflection.RuntimeMethodInfo.Invoke(Object obj,
BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo
culture, Boolean skipVisibilityChecks)
	at System.Reflection.RuntimeMethodInfo.Invoke(Object obj,
BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo
culture)
	at System.Reflection.MethodBase.Invoke(Object obj, Object[]
parameters)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\PostSelectStra
tegy\GenericListStrategy.cs(78,0): at
IBatisNet.DataMapper.MappedStatements.PostSelectStrategy.GenericListStrategy
.Execute(PostBindind postSelect, RequestScope request)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\MappedStatemen
t.cs(917,0): at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecutePostSelect(Requ
estScope request)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\MappedStatemen
t.cs(336,0): at
IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject[T](R
equestScope request, IDalSession session, Object parameterObject, T
resultObject)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\MappedStatemen
t.cs(307,0): at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject[
T](IDalSession session, Object parameterObject, T resultObject)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\MappedStatemen
t.cs(288,0): at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject[
T](IDalSession session, Object parameterObject)
	\Source-revision-419277\IBatisNet.DataMapper\SqlMapper.cs(735,0): at
IBatisNet.DataMapper.SqlMapper.QueryForObject[T](String statementName,
Object parameterObject)
	
C:\pdvl\downloads\ORM\iBatis\tutorial2\tutorial2\Tutorial2.Test\TestDataMapp
er.cs(38,0): at
Tutorial2.Test.TestDataMapper.SelectAuthorAndBlogAndLazyPost()
	--TargetInvocationException
	at System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String
fieldName)
	at System.Data.OracleClient.OracleDataReader.GetOrdinal(String name)
	
\Source-revision-419277\IBatisNet.DataMapper\TypeHandlers\StringTypeHandler.
cs(52,0): at
IBatisNet.DataMapper.TypeHandlers.StringTypeHandler.GetValueByName(ResultPro
perty mapping, IDataReader dataReader)
	
\Source-revision-419277\IBatisNet.DataMapper\Configuration\ResultMapping\Res
ultProperty.cs(403,0): at
IBatisNet.DataMapper.Configuration.ResultMapping.ResultProperty.GetDataBaseV
alue(IDataReader dataReader)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\PropertStrateg
y\DefaultStrategy.cs(79,0): at
IBatisNet.DataMapper.MappedStatements.PropertyStrategy.DefaultStrategy.Set(R
equestScope request, ResultMap resultMap, ResultProperty mapping, Object&
target, IDataReader reader, Object keys)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\ResultStrategy
\ResultMapStrategy.cs(73,0): at
IBatisNet.DataMapper.MappedStatements.ResultStrategy.ResultMapStrategy.Proce
ss(RequestScope request, IDataReader reader, Object resultObject)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\MappedStatemen
t.cs(642,0): at
IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForList[T](Req
uestScope request, IDalSession session, Object parameterObject, Int32
skipResults, Int32 maxResults, RowDelegate`1 rowDelegate)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\MappedStatemen
t.cs(593,0): at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList[T]
(IDalSession session, Object parameterObject, Int32 skipResults, Int32
maxResults)
	
\Source-revision-419277\IBatisNet.DataMapper\MappedStatements\MappedStatemen
t.cs(574,0): at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList[T]
(IDalSession session, Object parameterObject)


0 passed, 1 failed, 0 skipped, took 2,00 seconds.


Has it something to do with the type of param0? I wonder why the type of
param0 for Post-Fill is Decimal, I've changed the parameterClass to int in
post.xml

  <select id="Post-Fill" parameterClass="int" resultMap="Post-Result" >
      SELECT *
      FROM Posts
      WHERE
      (BlogID = #value#)
    </select>

Without the modification I get the same problem, but I understand what the
original parameterClass="map" stands for...

Has anybody a clue of the source of my problem? Is it an error in Tutorial2
or a bug in iBatis?

Cheers,
Paul



Mime
View raw message