Hibernate JPA按子实体和CRUDRepository更新实体

Hibernate JPA按子实体和CRUDRepository更新实体,hibernate,spring-boot,jpa,Hibernate,Spring Boot,Jpa,文章的标题可能没有意义,但问题是,我有如下管理员和用户实体: @Entity @Table(name = "administrators") public class Administrator extends User {... @Entity @Table (name = "users") @Inheritance(strategy = InheritanceType.JOINED) public class User {... 其执行方式如下: Administrator admin

文章的标题可能没有意义,但问题是,我有如下管理员和用户实体:

@Entity
@Table(name = "administrators")
public class Administrator extends User {...


@Entity
@Table (name = "users")
@Inheritance(strategy = InheritanceType.JOINED)
public class User {...
其执行方式如下:

Administrator administrator = new Administrator();
User user = //get the existing user by username
administrator.setUserId(user.getUserId());
administrator.set...
// then save using registration service
registrationService.save(administrator);
这是挂号服务

@Service
public class RegistrationService {
    @Autowired
    AdministratorRepository administratorRepository ;

    public void addAdministrator(Administrator administrator){
        administratorRepository.save(administrator);
    }
}
这是存储库

@Repository
public interface AdministratorRepository extends UserBaseRepository<User> {

}
@存储库
公共接口管理员存储库扩展UserBaseRepository{
}
这是UserBaseRepository

@NoRepositoryBean
public interface UserBaseRepository<T extends User> extends CrudRepository<T, Integer> {

}
@NoRepositoryBean
公共接口UserBaseRepository扩展了Crudepository{
}
当一个用户需要成为管理员时,我会创建一个新的管理员实体实例,并将其userId设置为users表中的现有userId(即user Entity)

现在数据存储在Administrator表中,但在users表中创建了一个新行,它不会使用我在Administrator实例中设置的userId更新用户。有什么想法吗


提前谢谢

请显示两个实体的完整代码。以及如何设置id@SimonMartinelli现在请查看您使用的
AdministratorRepository extends UserBaseRepository
不应该是
AdministratorRepository extends UserBaseRepository