Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何使用特定于应用程序的属性增强通用模块实体?_Spring_Hibernate_Jpa_Spring Data_Spring Data Jpa - Fatal编程技术网

Spring 如何使用特定于应用程序的属性增强通用模块实体?

Spring 如何使用特定于应用程序的属性增强通用模块实体?,spring,hibernate,jpa,spring-data,spring-data-jpa,Spring,Hibernate,Jpa,Spring Data,Spring Data Jpa,我目前正在开发一个库,该库处理spring安全设置,以将多个应用程序与通用登录应用程序集成。当然,我定义了一个用户实体 @Entity @Table(name = "users") @Data @ToString(of = { "username", "uuid" }, callSuper = true) @EqualsAndHashCode(of = "username", callSuper = false) @NoArgsConstructor public class User impl

我目前正在开发一个库,该库处理spring安全设置,以将多个应用程序与通用登录应用程序集成。当然,我定义了一个用户实体

@Entity
@Table(name = "users")
@Data
@ToString(of = { "username", "uuid" }, callSuper = true)
@EqualsAndHashCode(of = "username", callSuper = false)
@NoArgsConstructor
public class User implements UserDetails {

@Id
@NotNull
private String username;

private String uuid;

private String displayName;

private String email;

... //the usual stuff
}
每个应用程序都有自己的需求,需要用更多的属性增强用户。这怎么可能呢

我考虑过使用aspectj(我使用lombok,所以这不是我的第一选择),一定有其他方法吗

谢谢,
Tim

为每个应用程序扩展
User
类有什么问题?JPA继承如何?每个应用程序都将从可以充当@MappedSuperclass的用户派生。问题是,我在该库中有几个服务和spring数据存储库,它们都使用用户实体。我想我必须使用一个托管实体,而不能使用映射的超类。这意味着我不能真正扩展用户类(如果我在这一点上错了,请告诉我为什么)。