Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 初始化期间Hibernate PropertyNotFoundException-找不到MyEntity的setter#new_Java_Hibernate_Jpa - Fatal编程技术网

Java 初始化期间Hibernate PropertyNotFoundException-找不到MyEntity的setter#new

Java 初始化期间Hibernate PropertyNotFoundException-找不到MyEntity的setter#new,java,hibernate,jpa,Java,Hibernate,Jpa,我目前正在迁移一个Hibernate实现,以使用EntityManager而不是Session。在初始化过程中,转储以下堆栈跟踪: Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: myunit] Unable to build Hibernate SessionFactory at org.hibernate.jpa.boot.internal.EntityManag

我目前正在迁移一个Hibernate实现,以使用
EntityManager
而不是
Session
。在初始化过程中,转储以下堆栈跟踪:

Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: myunit] Unable to build Hibernate SessionFactory
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:967)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892)
    at com.example.DbConnector.initialize(DbConnector.java:93)
    at com.example.Start.main(Start.java:12)
Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
    at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123)
    at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77)
    at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:128)
    ... 6 more
Caused by: org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
    at org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:91)
    at org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:116)
    at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:385)
    ... 15 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    ... 19 more
Caused by: org.hibernate.PropertyNotFoundException: Could not locate setter method for property [com.example.MyEntity#new]
    at org.hibernate.internal.util.ReflectHelper.findSetterMethod(ReflectHelper.java:552)
    at org.hibernate.property.access.internal.PropertyAccessBasicImpl.<init>(PropertyAccessBasicImpl.java:44)
    at org.hibernate.property.access.internal.PropertyAccessStrategyBasicImpl.buildPropertyAccess(PropertyAccessStrategyBasicImpl.java:27)
    ... 26 more
触发此异常的是什么


更新:以下是MyEntity的来源:

@Entity
@Table(name = "myEntity")
public class MyEntity extends BaseEntity {
    private String name;

    public MyEntity() {
    }

    public MyEntity(final String name) {
        this.name = name;
    }

    @Basic
    @NaturalId
    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(final String name) {
        this.name = name;
    }
}
@MappedSuperclass
public abstract class BaseEntity {
    protected UUID id;
    protected LocalDateTime created;
    protected LocalDateTime updated;

    @PrePersist
    public void prePersist() {
        preUpdate();
        created = updated;
    }

    @PreUpdate
    public void preUpdate() {
        updated = LocalDateTime.now();
    }

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uuid-generator")
    @GenericGenerator(name = "uuid-generator", strategy = "uuid2")
    @Column(name = "id")
    public UUID getId() {
        return id;
    }

    public void setId(final UUID id) {
        this.id = id;
    }

    @Basic
    @Column(name = "created")
    public LocalDateTime getCreated() {
        return created;
    }

    public void setCreated(final LocalDateTime created) {
        this.created = created;
    }

    @Version
    @Column(name = "updated")
    public LocalDateTime getUpdated() {
        return updated;
    }

    public void setUpdated(final LocalDateTime updated) {
        this.updated = updated;
    }
}
BaseEntity

@Entity
@Table(name = "myEntity")
public class MyEntity extends BaseEntity {
    private String name;

    public MyEntity() {
    }

    public MyEntity(final String name) {
        this.name = name;
    }

    @Basic
    @NaturalId
    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(final String name) {
        this.name = name;
    }
}
@MappedSuperclass
public abstract class BaseEntity {
    protected UUID id;
    protected LocalDateTime created;
    protected LocalDateTime updated;

    @PrePersist
    public void prePersist() {
        preUpdate();
        created = updated;
    }

    @PreUpdate
    public void preUpdate() {
        updated = LocalDateTime.now();
    }

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uuid-generator")
    @GenericGenerator(name = "uuid-generator", strategy = "uuid2")
    @Column(name = "id")
    public UUID getId() {
        return id;
    }

    public void setId(final UUID id) {
        this.id = id;
    }

    @Basic
    @Column(name = "created")
    public LocalDateTime getCreated() {
        return created;
    }

    public void setCreated(final LocalDateTime created) {
        this.created = created;
    }

    @Version
    @Column(name = "updated")
    public LocalDateTime getUpdated() {
        return updated;
    }

    public void setUpdated(final LocalDateTime updated) {
        this.updated = updated;
    }
}

显示实体
MyEntity
的java代码。请参阅编辑,不确定我最初为什么没有附加它!为什么在
MyEntity
类中有
SectorEntity
构造函数?因为我在复制到SO时没有更改它们,修复了!