如何在namedparameterJDBCTemplate中使用序列插入两个表? 数据库 - 量表 springjdbcnamedparametertemplate。
我的Dao看起来像这样
@Override
public void insert(Message message) {
String SQL = "INSERT into mssg (mssg_id, mssg_text, mssg_channel)"
+ " values (mssg_sequence.nextval,:mssg_text,:mssg_channel)";
String SQLMessage_app = "INSERT into message_app(mssg_app_type,mssg_id)"
+ "values(:mssg_app_type,mssg_sequence.currval)";
namedParameterJdbcTemplate.update(SQL,
new BeanPropertySqlParameterSource(message));
namedParameterJdbcTemplate.update(SQLMessage_app,
new BeanPropertySqlParameterSource(message));
}
oracle表就是这些
这是第一个表
create table mssg (
mssg_id number(10) NOT NULL,
mssg_text varchar2(25)NOT NULL,
mssg_channel varchar(25)NOT NULL,
constraint pk_mssg_id PRIMARY KEY(mssg_id)
);
Create sequence mssg_sequence
start with 1
increment by 1
minvalue 1
maxvalue 100000;
这是第二个表
CREATE TABLE MESSAGE_APP(
mssg_app_type VARCHAR2(25),
mssg_id NUMBER(10),
CONSTRAINT fk_mssg
FOREIGN KEY(mssg_id)
REFERENCES mssg(mssg_id)
ON DELETE CASCADE);
COMMIT;
我收到此错误:
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback;未分类SQL的SQLException [INSERT 到 message_app(mssg_app_type,mssg_id)值](,mssg_sequence.currval?); SQL状态[72000];错误代码[8002]; ORA-08002:序列 MSSG_SEQUENCE.CURRVAL尚未在此会话中定义;嵌套 异常是java.sql.SQLException:ORA-08002:sequence MSSG_SEQUENCE.CURRVAL尚未在此会话中定义
任何人都可以通过使用序列???
帮助我将数据插入到两个表中提前致谢:)