私は、Oracle DB用DBのセットアップとJBossの(5.2)サーバーに配備のGrails(2.2.4)アプリケーションました:のSQLExceptionのGrailsでsave()メソッド
datasource {
dbCreate = 'update'
jndiName = 'java:XXX
}
を私はまた、2つのドメインオブジェクトを持っています:
class A {
def name
static hasOne = [b:B]
static constraints = {
b unique: true
name unique: true
}
}
class B {
A a
static belongsTo = [A]
}
そして最後のインスタンスを作成/検索するためのサービス:
A createA(String name) {
def a = A.findByName(name)
if(!a) {
a = new A(name: name)
a.b = new B(a: a)
a.save() <-- This causes the ERROR. Tried a.save(flush:true), a.save(failOnError:true) and a.save(flush:true, failOnError:true)
}
return a
}
休止状態独自H2 DBを使用して
Hibernate operation: could not execute query; uncategorized SQLException for SQL [
select this_.id as id1_0_, this_.version as version1_0_, this_.name as name1_0_
from a this_
where this_.id=?];
SQL state [99999]; error code [17041];
Missing IN or OUT parameter at index:: 1;
nested exception is java.sql.SQLException: Missing IN or OUT parameter at index:: 1
誰もがアイデアを得た:両方GrailsのでローカルテストするとGrailsのにこの作品の罰金を戦争で実行しますが、Oracle DBとの統合とJBossサーバーにデプロイした後、私は次のエラーを取得するアプリを実行します何がここで間違っているの?
エラーは一般に '?'の値が提供されなかったためです。私はそれが他のDBのためにそこにあり、あなたがそれを配備したときではない理由を知らないが、それは私が調べ始めるだろう。 – Gregg
私は考えましたが、このエラーは何とか** save()**メソッドのトレースを呼び出すことによって発生したので、デバッグを開始する方法がわかりません。 –
バインド値を記録できます。この記事を読んで、役立つかどうかを確認してください:http://margotskapacs.com/2013/01/log-and-debug-gorm/ – Gregg