发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

有个关于ddd value object 和 hibernate的问题

         
2008-06-16 00:45
赞助商链接

例子如下:一个user实体,一个PhoneNumber值对象
class user{
string id;
string name;
string password;
PhoneNumber phoneNumber;
}

class PhoneNumber{
private String number;
public PhoneNumber(String number){
this.number = number;
}
public String getNumber(){
return number;
}
}

如果用hibernate去做o/r的话。id,name,password都可以轻松的set,那phoneNumber呢?他是通过构造来
做的是否有办法通过有参构造注入?

1
2008-06-25 15:52

通过关联关系来映射的。

2008-07-01 22:17

?怎么做关联,hibernate好像不支持有参注入,可能我没有描述清楚phoneNumber在关系模型当中他是存放在user表当中的一个字段。只是在映射的时候我想把他注入到以下这个结构当中
class PhoneNumber{
private final String number;
public PhoneNumber(String number){
if(!validate(number)){throw ....}
this.number = number;
}
public String getNumber(){
return number;
}
public static boolean validate(String number){...}
}
完整调用例子
User user = new User();
PhoneNumber phoneNumber = new PhoneNumber("0592-8888888");
user.setPhoneNumber(phoneNumber);
然后通过repository(底层是hibernate)存储.问题是怎么通过这种结构存储
怎么消除他们之间的映射失配。
[该贴被gamex于2008-07-01 22:29修改过]
[该贴被gamex于2008-07-01 22:40修改过]

2008-07-02 16:55

确定User和PhoneNumber的关系,然后用one-to-one,one-to-many,或者也可以将phoneNumber映射为user的字段。具体用。@Embeded,@Embeddalble
[该贴被xmuzyu于2008-07-02 23:46修改过]

hibernate      关联模型     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com