Just add a config attribute `convertType="true"` in the db-data-config.xml will solve my problem. like below:
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql:..." user="root" password="root" batchSize="-1" convertType="true"/> 2013/1/22 nanyang cai <cainany...@gmail.com> > Hi, > > DIH is really handy. But I found it interpret "Tinyint(1) unsigned" values > as "Boolean" values. In my case, we have a column 'status tinyint(1)', who > could hold value of (0, 1, 2, 3); > > My configuration as blow: > db-data-config.xml : > > <field column="status" name="status" /> > > schema.xml: > > <field name="status" type="integer" indexed="true" stored="true"/> > > But search results after indexing: > > <str name="status">false</str> > > I think value 1, 2, 3 are all read as true, this is not I want. > > I've googled, and this is not a new problem. One solution is to change the > column type to 'Tinyint(2)', but this is not allowed for some reason. > > I hope I've missed some other ways, could you point me out? Thank you! > >