domain classes领域类

本文探讨了如何在领域类中实现自定义验证,包括创建领域类、编写自定义验证逻辑、处理临时字段以及自定义数据库表。此外,文章还介绍了继承、嵌入等高级特性,并展示了如何在不同表中应用这些概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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']
}


3自定义数据库表

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:



### Dual-domain 技术原理 Dual-domain 或者双域技术主要涉及在两个不同的数据分布之间建立有效的映射关系,从而实现跨域的知识迁移和模型泛化。特别是在计算机视觉领域,双域技术被广泛应用于解决源域(通常是带有标签的数据集)与目标域(通常是没有标签的真实环境下的数据集)之间的差异。 #### 双路径学习框架 (DPL) 一种具体的双域技术实例是在语义分割中的双路径学习框架 DPL[^1]。此框架设计了两条互补且交互的工作流: - **双路径图像转译**:一条路径专注于从源域到目标域的图像风格转换,另一条则反向操作。这种方式有助于减少因单一方向转换造成的视觉失真。 - **双路径自适应分割**:每条路径都包含了独立但又协作的任务——一边负责调整来自源域的信息使之适合于目标域;另一边则是直接处理未标记的目标域样本并尝试从中提取有用特征。 这两部分共同工作,使得即使在一个完全无监督的情况下也能提高模型对新环境下物体识别的能力。此外,在训练初期引入了一个特殊的预热阶段用于修正潜在错误标签,进一步增强了系统的鲁棒性和准确性。 ### 应用场景 上述提到的技术特别适用于那些难以获取大量高质量标注数据的应用场合,比如自动驾驶汽车感知系统开发过程中所面临的挑战。具体来说: - **虚拟世界到现实世界的迁移**:像 GTA5 到 Cityscapes 这样的例子展示了如何利用游戏引擎生成的城市景观作为合成数据源来增强真实城市街道场景解析的效果。 - **多传感器融合**:当不同型的传感设备采集到的数据存在显著区别时(例如 RGB 图像 vs LiDAR 点云),也可以考虑采用似的双通道架构来进行联合训练,以便更好地综合各信息优势。 ```python import torch.nn as nn class DualPathLearning(nn.Module): def __init__(self, num_classes=19): super(DualPathLearning, self).__init__() # 定义双路径的具体组件... def forward(self, source_img, target_img=None): if self.training: # 训练模式下同时处理source和target图片 pass else: # 测试/推理模式仅需输入target图片即可得到预测结果 return segmentation_output ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值