1 自定义验证:
创建领域类person,编写自定义验证
class Person {
String login
String password
String firstName
String lastName
static constraints = {
password(unique: true,length:5..15,validator: {val,obj->
if(val?.equalsIgnoreCase(obj.firstName)){
return "password.cannot.be.firstname"
}
})
}
}
当输入错误时,提示信息为:
2 临时字段
代码:
class Company {
String name
Integer numberOfEmployees
BigDecimal SalaryPaidYTD
static transients = ['SalaryPaidYTD']
}
class Person {
String firstName
String lastName
Integer age
}
数据库表如图:
自定义:
class Person {
String firstName
String lastName
Integer age
static mapping ={
id column:'p_id'
firstName column: 'p_first_name'
lastName column: 'p_last_name'
age column: 'p_age'
version false
table 'people'
}
}
如图:
4 继承
class Employee extends Person {
String employeeNumber
String companyName
}
class Player extends Person {
String teamName
}
表:
static mapping ={
tablePerHierarchy false
}
表:person
employee
player
5 嵌入
normally:
embedded: