【发布时间】:2011-08-28 09:10:24
【问题描述】:
我开始对我的 grails web 应用程序进行更严格的测试,是时候从 hsqldb 迁移到 postgres。一切都或多或少没问题,但是在创建测试数据时我在 Bootstrap 中遇到错误。 Hibernate 尝试在将行插入数据库之前进行选择。 不幸的是,这样做时它不会将参数传递给选择,并且我收到异常说未指定参数 1 值。
这是我的域类:
class User {
static constraints = {
deviceId(
blank: false,
unique: true,
)
userName(nullable: true, size: 5..15, blank: false, unique: true)
password(nullable: true, size: 5..15, blank: false)
email(nullable: true, email: true, blank: false, unique: true)
blockedUsers(unique: true)
}
static mapping = {
table "player"
deviceId indexColumn: [name: "deviceId", unique: true]
}
static mappedBy = [inbox: 'userTo', outbox: 'userFrom']
static hasMany = [profiles: Profile, inbox: Message, outbox: Message, blockedUsers: User]
List<User> blockedUsers = new ArrayList<User>()
String deviceId
String userName
String email
String password
Boolean readyForExport = false
Boolean newUser = false
[...]
}
所以没有什么特别之处。 在此错误之前,我在其他域上有很多 .save(flush:true) 命令,一切都很好。正是这个引发了错误:/
这些是导致此错误的行。
User userA = new User(userName: "test", password: "dkjughey3htg", email: "integration@test.com", deviceId: 'intTestDevice')
userA.save(flush:true)
任何提示为什么会发生这种情况?
【问题讨论】:
标签: hibernate postgresql grails grails-orm