20130515-Grails In Action-3、建模(03小节)

本文介绍如何在Grails应用中实现User与Profile之间的1:1关系管理,包括Profile对象创建、属性配置及约束设置,以及User对象属性调整和级联删除配置。

上一节了解了怎样对对象的属性进行有效性验证以及验证的测试方法,这一节主要了解对象之间的关系

1:1关系

User对象主要用于登录验证操作,User对象还有一些比较杂的属性,我们单独用一个Profile对象保存,这样User和Profile之间就是1:1的关系

1、增加一个Profile对象

grails create-domain-class com.grailsinaction.Profile

2、给Profile对象增加一些用户属性

 1 package com.grailsinaction
 2 
 3 class Profile {
 4     static belongsTo = User
 5     byte[] photo
 6     String fullName
 7     String bio
 8     String homepage
 9     String email
10     String timezone
11     String country
12     String jabberAddress
13 
14     static constraints = {
15         fullName(nullable: true)
16         bio(nullable: true, maxSize: 1000)
17         homepage(url: true, nullable: true)
18         email(email: true, nullable: true)
19         photo(nullable: true)
20         country(nullable: true)
21         timezone(nullable: true)
22         jabberAddress(email: true, nullable: true)
23     }
24 }

这里最明显的是static belongsTo = User这一句,(直接翻译过来就是“属于”),告诉系统对象之间怎么级联,这个级联的意思是,只要User对象删除了,和这个User相关联的Profile对象也级联删除。belongsTo在n:m关系中还有其他用途

3、修改User对象的属性

 1 package com.grailsinaction
 2 
 3 class User {
 4     
 5     String userId
 6     String password
 7     
 8     Date dateCreated
 9     
10     Profile profile
11 
12     static constraints = {
13         password(size: 6..8, validator: { passwd, user ->
14             passwd != user.userId
15         })
16         dateCreated()
17         profile(nullable: true)
18     }
19 }

将homepage属性移到Profile对象中,将Profile对象作为一个Profile属性持有,并且允许为空。

为了保证User对象和Profile对象能同步,马上刷新数据,在User对象中再增加一个映射块,将默认的懒加载修改成马上更新

1     ......
2     static mapping = {
3         profile lazy:false
4     }

随着信息技术在管理上越来越深入而广泛的应用,作为学校以及一些培训机构,都在用信息化战术来部署线上学习以及线上考试,可以与线下的考试有机的结合在一起,实现基于SSM的小码创客教育教学资源库的设计与实现在技术上已成熟。本文介绍了基于SSM的小码创客教育教学资源库的设计与实现的开发全过程。通过分析企业对于基于SSM的小码创客教育教学资源库的设计与实现的需求,创建了一个计算机管理基于SSM的小码创客教育教学资源库的设计与实现的方案。文章介绍了基于SSM的小码创客教育教学资源库的设计与实现的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本基于SSM的小码创客教育教学资源库的设计与实现有管理员,校长,教师,学员四个角色。管理员可以管理校长,教师,学员等基本信息,校长角色除了校长管理之外,其他管理员可以操作的校长角色都可以操作。教师可以发布论坛,课件,视频,作业,学员可以查看和下载所有发布的信息,还可以上传作业。因而具有一定的实用性。 本站是一个B/S模式系统,采用Java的SSM框架作为开发技术,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SSM的小码创客教育教学资源库的设计与实现管理工作系统化、规范化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值