关于strtus与hibernate的应用

本文探讨了一个基于Struts与Hibernate的项目中存在的设计问题:Domain Model继承ActionForm并作为Form配置,导致数据映射不一致,特别是在插入数据时可能出现角色ID与角色名称不同步的问题。

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

最近看到一个基于strtus与hibernate的项目,看到一个夸张的设计,让domain model继承ActionForm,然后在配置文件中把model当作form来配置。

然后我看了一下domain类与映射文件,发现只要关系映射的字段,就做了两次映射,比如,有个User,

class User{

String id;

String name;

String role;

String roleId;

}

role和roleId其实都是role_id,这种设计方式很有问题,若仅仅是load数据,那没有问题;但是若insert数据的话,就会引起问题,比如,从actionForm中copy数据到domain的时候,只copy 就会引起不一致,只能会的roleId,但是role是null,这是effective java中一直提到的对象一致性问题,对象本身的状态在一个可控的时间内处于不稳定的状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值