I try to understand why Hibernate adds the name of my model in the values when inserting (JPA save), but I can't figure out why.

Here is entity model:

```
@Entity
@Table(name = "USER")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "person_type")
@Getter
@Setter
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "user_id")
    private int id;

    @Column(name = "username", unique = true)
    private String username;

    @Column(name = "email")
    private String email;

    @Column(name = "password")
    private String password;

    @Any(metaColumn = @Column(name = "person_type", insertable = false))
    @AnyMetaDef(idType = "int", metaType = "string",
            metaValues = {
                    @MetaValue(targetEntity = Candidate.class, value = "CANDIDATE"),
                    @MetaValue(targetEntity = Company.class, value = "COMPANY"),
            })
    @JoinColumn(name="person_id", insertable = false)
    private Object person = null;
}

```

Polymorphism works perfectly. The problem is that when I register a new user who by default is supposed to have `person_type` and `person_id` set to null, the query performed is the following:

```
insert into `USER` (`email`, `password`, `username`, `person_type`) values (?, ?, ?, ?, 'User')

```

Code to insert :
user.setPassword(passwordEncoder.encode(user.getPassword()));
userRepository.save(user);

I even tried adding the line `user.setPerson(null)` before the insert, but it's the same.

Any idea please?