有两张表,一张用户信息表epi_userinfo,还有一张用户信息表的补表epi_userinfo_part。
因为考虑到数据的查询效率,把不常用的信息放在epi_userinfo_part表,常用的信息放在了epi_userinfo。
表的大概数据是这样的
epi_userinfo:
id,username,nickname,password,...
epi_userinfo_part:
user_id(epi_userinfo的id),regdate,regip...因为现在id是用户信息表的主键,又是用户信息表的主外键(用户信息补表和用户信息表是一对一的关系)。
请问这个映射该怎么写呢(最好是用标注的,用xml也行)。
因为考虑到数据的查询效率,把不常用的信息放在epi_userinfo_part表,常用的信息放在了epi_userinfo。
表的大概数据是这样的
epi_userinfo:
id,username,nickname,password,...
epi_userinfo_part:
user_id(epi_userinfo的id),regdate,regip...因为现在id是用户信息表的主键,又是用户信息表的主外键(用户信息补表和用户信息表是一对一的关系)。
请问这个映射该怎么写呢(最好是用标注的,用xml也行)。
解决方案 »
- 面相对象三大特性
- java怎么实现类似iteye的那种分页
- ibatis根据ID批量删除与SQL语句中写“id in(1,2,4)”删除的效率分析
- 请教一关于导入方面的东西
- 请问一下java所谓的把类加载到内存后做了些什么,在没有初始化之前
- spring 1.2升级到2.0.8需要调整那些东西?
- 刚学spring+hibernate 想问下 spring的声明式事务 跟 OpenSessionInViewFilter 功能是不是重复了。。。
- web services生成wsdl的问题
- XPath中是否支持联合查询?
- ejb测试问题,不知乍办????在线等待-----
- 怎么用反射来创建一个Collection
- 用JNATIVE 调用windows下的dll文件 的问题
@OneToOne(mappedBy="id")
public String getID() {
...
}补表类ID叫userId
@OneToOne
public String getUserId() {
...
}
@Column(name = "user_id)
@OneToOne
public String getUserId() {
...
}
主表类:
@Entity
@Table(name = "epi_usrinfo", catalog = "数据库名字")
public class EpiUserinfo {
private Stirng id;
private EpiUserinfoPart epiUserinfoPart;
...
//getter
@OneToOne(mappedBy="user_id")
public EpiUserinfoPart getEpiUserinfoPart(....}
}
补表类:
@Entity
@Table(name = "epi_userinfo_part", catalog = "数据库名字")
public class EpiUserinfoPart {
private Stirng user_id;
private EpiUserinfo epiUserinfo;
...
//getter
@OneToOne
public EpiUserinfo getEpiUserinfo(....}
}
补表类不用写mappedBy了
按上面的配置的话说找不到@Id,加上@Id。错误有点多,也只好把那个补表也加个id,这样就好弄了。