0

我有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_CodeTelecom_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();
    }

但这是完全错误的。

请帮助我如何为此编写存储库。

任何帮助表示赞赏

4

1 回答 1

0

CrudRepository 允许您通过传入它的 Id 来查找项目。 findById

然后,您可以从对象中获取所需的个人信息。

如果要查找表中的所有项目,也可以使用 findAllfindAll()方法

编辑:您必须确保在其他表中引用。

于 2018-11-15T19:25:21.863 回答