分离的实体传递给persist-Hibernate+;JavaFX

分离的实体传递给persist-Hibernate+;JavaFX,java,database,hibernate,jpa,javafx,Java,Database,Hibernate,Jpa,Javafx,我是冬眠新手,我需要帮助 我有一个名为Kasa的表,它有3个属性——id、address和account\u id。在我的表中,我有12行。 我想使用Hibernate对此进行映射,并使用Java添加新的映射,因此我做了以下工作: @Entity @Table(name = "kasa") public class Kasa { @Id @GeneratedValue(generator = "incrementor") @

我是冬眠新手,我需要帮助

我有一个名为Kasa的表,它有3个属性——id、address和account\u id。在我的表中,我有12行。 我想使用Hibernate对此进行映射,并使用Java添加新的映射,因此我做了以下工作:

   @Entity
    @Table(name = "kasa")
    public class Kasa {

        @Id
        @GeneratedValue(generator = "incrementor")
        @GenericGenerator(name = "incrementor", strategy = "increment")
        @Column(name = "ID_KASA")
        private  int id;

        @Column(name = "ADRES")
        private String adres;

        @Column(name = "ID_KONTO")
        private  int id_konta;
     }
我也有能手和二传手,但不需要复制

现在我想向我的数据库添加新行,如下所示:

EntityManagerFactory entityManagerFactory = 
Persistence.createEntityManagerFactory("org.hibernate.jpa");

        Kasa kasa = new Kasa();

        kasa.setId(1);
        kasa.setAdres("Kolorowaa");
        kasa.setId_konta(2);

        EntityManager entityManager = 
        entityManagerFactory.createEntityManager();
        entityManager.persist(kasa);
        entityManager.getTransaction().commit();
        entityManagerFactory.close();
我得到的错误如下: javax.persistence.PersistenceException:org.hibernate.PersistentObjectException:传递给persistent:model.beans.Kasa的分离实体

它指向这一行:entityManager.persist(kasa)

我认为问题可能出在我的“Kasa”类的ID上,因为它是自动生成的


对于我的配置,我使用persistence.xml文件-与db的连接工作正常。请帮助:)

不要设置ID!如果你这样做,JPA的东西kasa已经在数据库中了

数据库id必须由JPA设置。因此,您必须定义一些策略
关键是要计算。这就是所有这些@生成标记可以。

是,但当我删除设置ID的行时,我会遇到另一个错误:该行中的事务未成功启动:entityManager.getTransaction().commit();当您使用entityManager.getTransaction().begin()写入数据库时,您的完整代码应该如下所示:entityManager entityManager=entityManager工厂。createEntityManager();>>>entityManager.getTransaction().begin();似乎与javafx无关,或者是怎么回事?我正在用hibernate构建javafx应用程序:)是的,当然,但你的问题与javafx无关,对吧?不,不相关