Basic attribute should not be - with my own type

Viewed 232

I have a problem with the hibernate entity, and I would like to know if it is something I overlooked or if it is a bug in IntelliJ IDEA.

I have a Value object bank account:

class BankAccount
{

    private String value;

    public BankAccount(String value) {
        // validation
        this.value;
    }
}

Which has defined it's own hibernate type:

public class BankAccountType extends AbstractSingleColumnStandardBasicType<BankAccount> {
    public static final BankAccountType INSTANCE = new BankAccountType();
    public static final String NAME = "bankAccount";

    public BankAccountType() {
        super(LongVarcharTypeDescriptor.INSTANCE, BankAccountTypeDescriptor.INSTANCE);
    }

    @Override
    public String getName() {
        return null;
    }
}

And I have an entity:

@Entity
@TypeDefs({
        @TypeDef(
                name = BankAccountType.NAME,
                typeClass = BankAccountType.class,
                defaultForType = BankAccount.class

        )
})
class User {
    private UUID id;
    
    //...
    
    @Column
    private BankAccount bankAccount;
    
    //...
}

It works perfectly, but IDEA keeps telling me 'Basic attribute should not be BankAccount.'

Is there any way, how to get rid of this error without changing my entities? Is it a good idea to use value objects as a column in my entities?

Thanks a lot!

0 Answers
Related