Java 我应该使用什么策略将社交网站用户信息存储到JPA数据库中?

Java 我应该使用什么策略将社交网站用户信息存储到JPA数据库中?,java,hibernate,spring-boot,jpa,Java,Hibernate,Spring Boot,Jpa,我设计了一个这样的数据库模型。在这里,当用户使用Facebook或Google登录时,我想存储来自Facebook的用户信息 我使用JPA和Hibernate来处理数据库,所以我需要将数据库模型映射到ORM 我的尝试: 我尝试了SnsProfile抽象类的MappedSuperclass,但当我需要将SnsProfile映射到用户实体时,它不起作用 我尝试了@heritance(strategy=heritancetype.SINGLE\u TABLE),但是如果我有更多的社交网站和其他属性,

我设计了一个这样的数据库模型。在这里,当用户使用Facebook或Google登录时,我想存储来自Facebook的用户信息

我使用JPA和Hibernate来处理数据库,所以我需要将数据库模型映射到ORM

我的尝试:

我尝试了
SnsProfile
抽象类的
MappedSuperclass
,但当我需要将SnsProfile映射到用户实体时,它不起作用

我尝试了
@heritance(strategy=heritancetype.SINGLE\u TABLE)
,但是如果我有更多的社交网站和其他属性,那么这个表就会越来越复杂

我希望有一些JPA实体如下:

公共类用户实现可序列化{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私人长id;
私有字符串密码;
私人字符串电子邮件;
私有用户状态;
@OneToMany(fetch=FetchType.LAZY,
cascade=CascadeType.ALL,
mappedBy=“用户”)
私人名单简介;
}
公共抽象类SnsProfile实现了可序列化{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私人长id;
私有字符串snsId;
@manytone(fetch=FetchType.LAZY,可选=false)
@JoinColumn(name=“user\u id”,nullable=false)
私人用户;
}
公共抽象类FacebokProfile扩展了SnsProfile{
//这里的财产
}
公共抽象类GoogleProfile扩展了SnsProfile{
//这里的财产
}
你能不能给我一些关于实体设计的建议,让上面的数据库模型在JPA上运行良好?或者欢迎对数据库模型进行任何更改


请帮忙。非常感谢你

你的问题是什么?我更新了我的问题。你能不能给我一些关于实体设计的建议,让上面的数据库模型在JPA上运行良好?或者数据库模型中的任何更改都是受欢迎的。“工作良好”太模糊了。你为什么不先尝试实现你想要的,看看它是否符合你的需要呢?是的,我已经尝试过了,但正如我提到的,如果我有更多的社交网站和其他属性,那么这个表就会越来越复杂(对于strategy@heritance(strategy=heritancetype.SINGLE_table))我尝试为SnsProfile抽象类映射了MappedSuperclass,但当我需要将SnsProfile映射到用户实体时,它不起作用。所以我想听听像你这样的专家的建议:)你的问题是什么?我更新了我的问题。你能不能给我一些关于实体设计的建议,让上面的数据库模型在JPA上运行良好?或者数据库模型中的任何更改都是受欢迎的。“工作良好”太模糊了。你为什么不先尝试实现你想要的,看看它是否符合你的需要呢?是的,我已经尝试过了,但正如我提到的,如果我有更多的社交网站和其他属性,那么这个表就会越来越复杂(对于strategy@heritance(strategy=heritancetype.SINGLE_table))我尝试为SnsProfile抽象类映射了MappedSuperclass,但当我需要将SnsProfile映射到用户实体时,它不起作用。所以我想听听像你这样的专家的建议:)