ドメイン クラスに問題があります。エントリを挿入しようとするたびに、次のエラーが表示されます。
The column name "Sequence_No" was not found in this ResultSet.
ここに私のドメインクラスがあります:
class Record {
String firstName
String middleName
String lastName
String motherMaidenLastName
String motherMaidenMiddleName
Date birthDate
String examTypeCode
Date examinationDate
static constraints = {
firstName nullable:false, blank:false, maxSize: 50
middleName nullable:true, blank:true, maxSize: 50
lastName nullable:false, blank:false, maxSize: 50
motherMaidenLastName nullable:true, blank:true, maxSize: 50
motherMaidenMiddleName nullable:true, blank:true, maxSize: 50
birthDate nullable: false
examTypeCode nullable: false, maxSize: 4
examinationDate nullable: false
}
static mapping = {
datasource 'oevs'
table '`elig`'
id column: '`Sequence_No`'
firstName column: '`FirstName`'
middleName column: '`MiddleName`'
lastName column: '`LastName`'
motherMaidenLastName column: '`MotherMaidenLastName`'
motherMaidenMiddleName column: '`MotherMaidenMiddleName`'
birthDate column: '`Date_Birth`'
examTypeCode column: '`ExamType`'
examinationDate column: '`Date_Exam`'
}
}
しかし、保存しようとしたエントリはデータベースに挿入され、そのエラーがスローされます。私はPostgreSQLを使用しています。そのように列名に名前を付ける必要がありました。そのため、列に名前を付ける際にバックティック文字を配置する必要があります。これを行わないと、PostgreSQL がすべてを自動的に小文字に変換するからです。ID 列のバッククォート文字を削除するたびに、エラーは表示されませんが、明らかに列名が小文字に変換されました。