我有3张桌子
Port_Register
Mobile_Number(Primary Key) | Gaining_Code(Foreign Key to Telecom_Codes) | Losing_Codes
Telecom_Codes
Telecom_Code(Primary Key) | Contact_Provider_Id(Foreign_Key to Contact_Provider)
联系方式_供应商
Contact_Provider_Id | Contact_Name
Gaining_Code
实际上Losing_Code
是Telecom_Code
对于以下场景,我编写了如下所示的实体类
@Entity
@Table(name="Port_Register")
public class Port_Register {
@Id
@Column(name="MOBILE_NUMBER")
private String mobile_Number;
@ManyToOne
@JoinColumn(name="GAINING_CODE",referencedColumnName="TELECOM_CODE")
private TelecomCodes gainingCode;
@ManyToOne
@JoinColumn(name="LOSING_CODE",referencedColumnName="TELECOM_CODE")
private TelecomCodes losingCSPCode;
}
@Entity
@Table(name="Telecom_Codes")
public class TelecomCodes {
@Id
@Column(name="TELECOM_CODE")
private String telecomCode;
@OneToOne
@Column(name = "CONTACT__Provider_Id")
private ContactProvider contactProviderID;
}
@Entity
@Table(name="ContactProvider")
public class ContactProvider {
@Column(name="CONTACT__Provider_Id")
private String contactProviderId;
@Column(name="CONTACT__Provider_NAME")
private String ContactProviderName;
}
我必须在存储库类中编写一个函数来获取格式的数据
MobileNumber|Gaining_code|LosingCode| Gaining_provider_Name| Losing_provider_Name
我只知道 crud 有一个预定义的存储库接口,它的功能在运行时了解 abt 实现。
所以我创建了一个看起来像的存储库
public interface PortOutRegisterRepository extends CrudRepository< Ported_Register,String> {
// public void store(T t);
// public T retrieve(int id);
// public T delete(int id);
}
我以为我会打电话
PortOutRegisterRepository customRep;
List<Ported_Register> m=new ArrayList<Ported_Register>();
m=customRep.findall();
然后我可以用它来获取个人信息
for(Ported_Register p:m)
{
p.getGainingCode().getContactProviderID().getContactName();
}
但这是完全错误的。
请帮助我如何为此编写存储库。
任何帮助表示赞赏