Problemas com CLOB - CLOB start position can not be < 1

2 respostas
jemoliveira

Pessoal,

tive que alterar alguns campos blob para clob na base de dados

mapiei certinho e mudei meus metodos certinho

só que ele esta dando pau

a:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
6)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: CLOB start position can not be &lt; 1
        at com.mysql.jdbc.Clob.getSubString(Clob.java:76)
        at br.com.viewtec.dao.types.StringLobType.nullSafeGet(StringLobType.java
:65)
        at org.hibernate.type.CustomType.nullSafeGet(CustomType.java:104)
        at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
        at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(Abstra
ctEntityPersister.java:1899)
        at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1372)
        at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1300)
        at org.hibernate.loader.Loader.getRow(Loader.java:1197)
        at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)
        at org.hibernate.loader.Loader.doQuery(Loader.java:689)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lo
ader.java:224)
        at org.hibernate.loader.Loader.doList(Loader.java:2145)
        ... 57 more
12:38:53,375 INFO  [STDOUT] 2008-09-03 12:38:53,375 [http-127.0.0.1-8080-2] ERRO
R br.com.viewtec.spring.acme.SpringUtil (SpringUtil.java:80) - Could no execute
query

meu metodo:

public List getHomeNews(final Long channelId)
	{
		return (List) this.execute(new HibernateCallback() {
			public Object doInHibernate(Session session)
			throws HibernateException, SQLException 
			{
				Criteria crit = session.createCriteria(AppNews.class);
				crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
				crit.createAlias("channelsInformation", "ci")
					.add(Restrictions.eq("ci.channelId", channelId));
				crit.add(Restrictions.ge("ci.location", new Integer(1)));
				crit.addOrder(Order.asc("ci.location"));
				return crit.list();
			}
		});
	}

ele da pau bem na hora do retorno

alguem tem alguma ideia?

2 Respostas

fiaux

Parece que o campo está vazio, sem nada escrito.

edit: É Oracle?

jemoliveira

qual campo vc diz? não entendi

é mysql

Criado 3 de setembro de 2008
Ultima resposta 3 de set. de 2008
Respostas 2
Participantes 2