grails でデータベースにデータを追加しようとしていますが、次のエラーが発生します。
エラー 500: コントローラー [mgr.CollectDataEntryController] のアクション [getData] を実行すると例外が発生しました: groovy.lang.MissingMethodException: メソッドの署名がありません: static groovy.lang.MissingMethodException.addToAlumConnectionEducations() は引数の型に適用されます: (mgr.AlumConnectionEducations)値: [mgr.AlumConnectionEducations : null]
ここで、CollectDataEntryController は作業を行うコントローラーです。そのコントローラーのコード スニペットを次に示します。
saveNewAlum.addToAlumConnectionEducations(new AlumConnectionEducations(alumConnectionsId:connectionId, degree:alumConnectionEduDegree,endDate:alumConnectionEduEndDate,fieldOfStdudy:alumConnectionEduFieldOfStudy,schoolName:alumConnectionEduSchoolName,startDate:alumConnectionEduStartDate))
ドメイン AlumConnectionEducations は、別のドメイン AlumConnections との 1 対多の関係に属し、別のドメイン AlumProfile との 1 対多の関係に属しています。
私のコードでは、最初にドメイン AlumConnection を追加します。これは正常に動作しますが、次に AlumConnectionEducations を追加しようとすると、上記のエラーが発生します。誰かが私が間違っていることを知っていますか?
ありがとうジェイソン
package mgr
import java.util.Date;
class AlumConnections {
String linkedinId
String firstName
String lastName
String headline
String locationName
String locationCode
String industry
Date dateCreated
Date lastUpdated
long version
static belongsTo = [alumProfile:AlumProfile]
static hasMany = [
alumConnectionEducations : AlumConnectionEducations
]
static mapping = {
cache true
columns {
linkedinId type:'text'
firstName type:'text'
lastName type:'text'
headline type:'text'
locationName type:'text'
locationCode type:'text'
industry type:'text'
}
}
static constraints = {
linkedinId (nullable:false, blank:false)
firstName (nullable:true)
lastName (nullable:true)
headline (nullable:true)
locationName (nullable:true)
locationCode (nullable:true)
industry (nullable:true)
}
}
ドメインを呼び出すコントローラーで:
def saveNewAlum = ""
saveNewAlum = new AlumProfile(firstName:linkedinFirstName, lastName:linkedinLastName, dob:newDate,industry:linkedinIndustry, oAuthToken:oAuthtoken, secretKey:secretKey)
saveNewAlum.addToAlumConnections(new AlumConnections(linkedinId:connectionId,firstName:connectionFName, lastName:connectionLName, headline:connectionHeadline, locationName:connectionLocationname, locationCode:connectionLocationCode,industry:connectionIndustry))
上記のコードは正常に機能し、MySQL データベースに保存されます。saveNewAlum.addToAlumConnectionEducations を作成しようとしたときにのみ、エラーが発生します