Hibernate метод, который начинается с "is", но не getter

Я моделирую сущность в спящем режиме. Я использую Шаблон свойств JavaFX.

я использую PROPERTY доступ, поэтому Hibernate смотрит на мои методы для настройки.

Моя проблема в том, что слово "Issue" начинается с "is", и поэтому кажется, что Hibernate думает, что мой метод свойства является средством получения логического значения - что-то вроде isOpen(),

Выдает следующее сообщение об ошибке при попытке настроить SessionFactory:

java.lang.ExceptionInInitializerError
Caused by: org.hibernate.MappingException: Could not determine type for: javafx.beans.property.ObjectProperty, at table: Remediations, for columns: [org.hibernate.mapping.Column(sueDetailProperty)]
    at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:456)
    at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:423)
    at org.hibernate.mapping.Property.isValid(Property.java:226)
    at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:597)
    at org.hibernate.mapping.RootClass.validate(RootClass.java:265)
    at org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:329)
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:459)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:710)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:726)
    at TestManyToManyWithExtraColumns.setUpSessionFactory(TestManyToManyWithExtraColumns.java:106)
    at TestManyToManyWithExtraColumns.<clinit>(TestManyToManyWithExtraColumns.java:16)

Вот разбавленная версия, чтобы показать проблему:

@Entity
@Access(AccessType.PROPERTY)
public class MyEntity{
    ...

    @Column(name = "detail_id")
    public IssueDetail getIssueDetail() {
        return issueDetail.get();
    }

    public void setIssueDetail(IssueDetail issueDetail) {
        this.issueDetail.set(issueDetail);
    }

    // throws error:
    // "Could not determine type for: javafx.beans.property.ObjectProperty,
    // at table: Remediations, for columns: [org.hibernate.mapping.Column(sueDetailProperty)]"
                                         |
    public ObjectProperty<IssueDetail> issueDetailProperty() {
        return issueDetail.getOrCreateProperty();
    } 
}

Как заставить Hibernate перестать думать, что мой метод является геттером (помимо изменения имени метода?)

0 ответов

Другие вопросы по тегам