First, define an abstract class and annotate it with @MappedSuperclass. This is not an entity:
@MappedSuperclass
public abstract class User implements Serializable {
…
}
Second, each entity should extend the User class. For example, Student and Teacher entitites:
@Entity
public class Student extends User implements Serializable {
…
}
@Entity
public class Teacher extends User implements Serializable {
…
}