私のアプリでは、ユーザーが検索を行います。その検索により、職務に雇うことができる人のリストが返されます。ただし、ユーザーは同じ職務に対して複数の検索を行うことができます (たとえば、この都市には 2 人、その都市には 3 人必要です)。検索ごとに「プレプレスプエスト」が作成され、プレプレスプエストごとに「ココントラト」が作成されます。すべての「ココントラート」は「コントラート」になり、すべての「プリプレスプエストス」は単一の「プレスプエスト」になります。そして、アプリ内で「キャンペーン」と呼ばれるすべての義務をまとめて準拠します。
その「Cocontrato」を保存しようとすると、例外が発生します。これはコードです:
ArrayList<Prepresupuesto> prepresus=Prepresupuesto.findAllByCamp(campid)
Presupuesto pres=new Presupuesto()
for(int i=0;i<prepresus.size();i++){
pres.prepresu.add(prepresus[i])
pres.camp=Campaign.get(prepres.camp.id)
pres.estado="Pending"
total=total+prepresus[i].total
crearCocontrato(prepresus[i])
}
メソッド crearCocontrato():
public crearCocontrato(Prepresupuesto prep){
Set <Azafata>azas=prep.azafatas
Cocontrato cocon=new Cocontrato()
cocon.contrato=con
cocon.precio=prep.precio
cocon.azafatas=azas
cocon.total=prep.total
cocon.horas=prep.horas
cocon.horario=prep.horario
cocon.localidad=prep.localidad
cocon.fechaInicio=prep.fechaInicio
cocon.fechaFin=prep.fechaFin
cocon.presu=prep
cocon.camp=prep.camp
if(!(cocon.save(flush:true))){
render (view:"fallos", model:[azafataInstance:cocon])
}
}
例外はifで起動されます。
何か助けはありますか?私は少し迷っています。私は Grails の初心者であり、例外を完全には理解していないと思います。
ありがとうございました!
編集:例外:
Found shared references to a collection: com.publidirecta.Cocontrato.azafatas. Stacktrace follows:
Message: Found shared references to a collection: com.publidirecta.Cocontrato.azafatas
Line | Method
->> 2448 | crearCocontrato in com.publidirecta.EntidadController$$ENmku0D2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 2394 | boton in ''
| 886 | runTask . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
| 908 | run in ''
^ 680 | run . . . . . . in java.lang.Thread