Closed GoogleCodeExporter closed 9 years ago
我搞不明白你,既然你自己故意设置IDENTITY_INSERT 为
OFF了.那你就别用insertWithIdentity(entity,sql)啊.
自己生成一个主键再插入不就得了.
Original comment by bad...@gmail.com
on 29 Jun 2010 at 3:12
错了,你查看这个:
http://hi.baidu.com/ebiyuan/blog/item/6b511987c030fe2bc75cc360.html
如果说是不能插入的话,你可以使用annocation
@Column(insertable=false)不插入这一列
Original comment by bad...@gmail.com
on 29 Jun 2010 at 3:16
我看关于 IDENTITY_INSERT 内容我看了,我想
insertWithIdentity(entity,sql) 生成的sql 应该不包括下面这样一列:
【
[id] [numeric](18, 0) IDENTITY(1,1) NOT NULL, --自增主键
】
如这样: [INSERT INTO user_info (age,birth,name,password,sex ) VALUES (
?,?,?,?,? ) ];
Original comment by gjh...@gmail.com
on 30 Jun 2010 at 12:54
由于要支持 insertWithOracle,insertWithAssign
这些情况是需要id出现在insert语句中的。
所以如果你是使用sqlserver
可以为id增加
@Column(insertable=false)
public Long getId() {
return false;
}
Original comment by bad...@gmail.com
on 30 Jun 2010 at 4:06
谢谢你的回复,按照你的方法,问题解决!
Original comment by gjh...@gmail.com
on 30 Jun 2010 at 6:33
加了@Column(insertable=false) 这个后,删除时,出现下面错误:
【
BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [DELETE FROM
user_info WHERE = ?]; nested exception is java.sql.SQLException: '='
附近有语法错误。
】
where 条件中id没有了
Original comment by gjh...@gmail.com
on 30 Jun 2010 at 12:20
这应该是个bug,你现在可以使用@Column(insertable=false,name="user_id")
即现在使用@Column你要指定name属性. 不然就报错了.
下一版本会修复.
或者你可以下载在这里下载新的MetadataCreateUtils.java,现在已经�
��复这个问题.
http://rapid-framework.googlecode.com/svn/trunk/rapid-framework/src/rapid_framew
ork_common/cn/org/rapid_framework/jdbc/sqlgenerator/metadata/MetadataCreateUtils
.java
Original comment by bad...@gmail.com
on 30 Jun 2010 at 2:45
rapid-framework 新版本发布在即,我等几天吧。
谢谢,加油
Original comment by gjh...@gmail.com
on 2 Jul 2010 at 2:28
Original issue reported on code.google.com by
gjh...@gmail.com
on 29 Jun 2010 at 2:29