?
一對一的關系 如(CrmCustomer 和CrmReasearch,CrmIntendInfo是一對一的關系
??????????????????????? 分別是客戶,客戶調查和客戶意向調查










































在CrmResearch 和CrmIntendInfo 進行相應的設置













另外一種一對一關系的類型,不是通過相同的鍵來連接 ,而是通過直接設置一對一關系來連接?
public???class??CrmCommInfoType??implements??java.io.Serializable?{?
???????//?一對一關系?
????? ?private long commTypeId;
?????private??CrmCommonInfo?crmCommonInfo;
???????@OneToOne(cascade??=??{},?fetch??=??FetchType.LAZY,?mappedBy??=???"?crmCommInfoType?"?,optional?=?true?)
??????//?mappedBy=crmCommInfoType,是和這個表一對一的CrmCommInfo?里面的關聯字段?
?????public??CrmCommonInfo?getCrmCommonInfo()?{
?????????return???this?.crmCommonInfo;
????}
??????
???}????
???????//?一對一關系?
????? ?private long commTypeId;
?????private??CrmCommonInfo?crmCommonInfo;
???????@OneToOne(cascade??=??{},?fetch??=??FetchType.LAZY,?mappedBy??=???"?crmCommInfoType?"?,optional?=?true?)
??????//?mappedBy=crmCommInfoType,是和這個表一對一的CrmCommInfo?里面的關聯字段?
?????public??CrmCommonInfo?getCrmCommonInfo()?{
?????????return???this?.crmCommonInfo;
????}
??????
???}????
public?class?CrmCommonInfo?implements?java.io.Serializable?{
???????private?long?crmCommonInfoId;
???????private?CrmCommInfoType?crmCommInfoType;//mappedby 的crmCommInfoType
???????????
????@OneToOne(cascade?=?{},?fetch?=?FetchType.LAZY)
????@JoinColumn(name?=?"COMM_TYPE_ID",referencedColumnName?=?"COMM_TYPE_ID",unique?=?true)//要連接的欄的名字,數據庫里面的字段 ?
????public?CrmCommInfoType?getCrmCommInfoType()?{
????????return?this.crmCommInfoType;
????}
????public?void?setCrmCommInfoType(CrmCommInfoType?crmCommInfoType)?{
????????this.crmCommInfoType?=?crmCommInfoType;
????}
?}
???????private?long?crmCommonInfoId;
???????private?CrmCommInfoType?crmCommInfoType;//mappedby 的crmCommInfoType
???????????
????@OneToOne(cascade?=?{},?fetch?=?FetchType.LAZY)
????@JoinColumn(name?=?"COMM_TYPE_ID",referencedColumnName?=?"COMM_TYPE_ID",unique?=?true)//要連接的欄的名字,數據庫里面的字段 ?
????public?CrmCommInfoType?getCrmCommInfoType()?{
????????return?this.crmCommInfoType;
????}
????public?void?setCrmCommInfoType(CrmCommInfoType?crmCommInfoType)?{
????????this.crmCommInfoType?=?crmCommInfoType;
????}
?}
還要在數據庫里面設置外間約束(如在MySql 下面要設置的Sql如下)
ALTER?TABLE?CRM_COMMON_INFO?CONSTRAINT?FKF8882C3D003D0B1?FOREIGH?KEY(COMM_TYPE_ID)?REFERENCES?CRM_COMM_INFO_TYPE(COMM_TYPE_ID)