有两张表,一张用户信息表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也行)。
解决方案 »
- Liferay - 控制面板 - 设置 - 认证 的配置在哪里?
- spring3.0整合Hibernate3.6的问题
- C/S结构与B/S结构结合开发
- 如何使用java ee5中的 jstl
- 如何可以不重启服务器,更换国际化资源文件?
- destroy-method="close"是什么意思?
- JAVA里如何安全有效地停止(或者说销毁)线程?请指点,万分感谢!
- 初学J2EE,问J2EE应用服务器与JBoss、Tomcat的关系。
- struts中<html:options>的用法,我真不知道自己错在哪里,朋友们帮帮我
- 天津java培训班
- 怎么用反射来创建一个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,这样就好弄了。