Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum FooStatus {
- BAR('br'), TAR('tr')
- final static String id
- }
- class Foo {
- FooStatus status
- static constraints = {
- status(inList:FooStatus.values()*.id,size:2..2)
- }
- }
- enum FooStatus {
- BAR('br'),
- TAR('tr')
- private FooStatus(String id) { this.id = id }
- final String id
- static FooStatus byId(String id) {
- values().find { it.id == id }
- }
- }
- class Foo {
- String status
- FooStatus getFooStatus() { status ? FooStatus.byId(status) : null }
- void setFooStatus(FooStatus fooStatus) { status = fooStatus.id }
- static transients = ['fooStatus']
- static constraints = {
- status inList: FooStatus.values()*.id
- }
- static mapping = {
- status sqlType: 'char(2)'
- }
- }
- import org.codehaus.groovy.grails.orm.hibernate.cfg.IdentityEnumType
- class MyDomainClass {
- Status status
- static mapping = {
- status(type: IdentityEnumType)
- }
- enum Status {
- FOO("F"), BAR("B")
- String id
- Status(String id) { this.id = id }
- }
- }
- DataSource dataSource
- ...
- Sql sql = new Sql(dataSource)
- sql.execute("alter table my_domain_class change column status status varchar(1) not null")
- class DomainClass {
- Status status
- static mapping = {
- status(enumType: "string")
- }
- }
- enum Status {
- OPEN ("OPEN"),
- CLOSED ("CLOSED"),
- ...
- String name
- Status (String name) {
- this.name = name
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement