Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mainThead' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
...
org.apache.ibatis.binding.BindingException: Mapper method 'getNextKey' (interface com.xxxxxxx.PackHandleMapper) attempted to return null from a method with a primitive return type (long).
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:37)
at $Proxy17.getNextKey(Unknown Source)
The "MODIFIES SQL DATA" clause has not been specified in the CREATE FUNCTION statement for LANGUAGE SQL function "UMP.SEQ" but an examination of the function body reveals that it should be specified.. SQLCODE=-374, SQLSTATE=428C2, DRIVER=3.63.108
如果需要修改表数据,则需要增加
MODIFIES SQL DATA
的修饰符,并且
返回类型必须是TABLE
,否则会报错:
An SQL TABLE function must return a table result.. SQLCODE=-20120, SQLSTATE=428F1, DRIVER=3.63.108
完整示例:
CREATE FUNCTION seq(seq_name char (20))
RETURNS TABLE(col bigint) MODIFIES SQL DATA
BEGIN ATOMIC
UPDATE seq SET val=val+1 WHERE NAME=seq_name;
RETURN (SELECT val FROM seq WHERE NAME=seq_name);
Read more (366939)
|
Comments (0)
|
Jun 15,2012