所以我有一个像这样的grails模型:
class Tree {
Long id;
String name;
static hasMany = [branches: Branch
}
class Branch {
Long id;
String name;
static belongsTo = [tree: Tree]
}
问题是在DB中,Tree id是一个数字,而Branch表中的tree_id是varchar。 db模型是事实上的外键,根本不作为约束强制执行。
Gorm生成一个不由我的数据库处理的查询:它试图在需要文本的位置输入数值:
ERROR util.JDBCExceptionReporter - ORA-01722:无效数字
如何在绑定参数之前告诉GORM转换值?
我查看了join table config,但我找不到任何相关内容。
答案 0 :(得分:0)
您是否尝试在映射中使用column
定义中的sqlType
?
class Branch {
Long id
String name
static belongsTo = [tree: Tree]
static mapping = {
tree column: 'TREE_ID', sqlType: "char"
}
}
现在无法测试,但请告诉我。