分离的实体传递给persist-Hibernate+;JavaFX
我是冬眠新手,我需要帮助 我有一个名为Kasa的表,它有3个属性——id、address和account\u id。在我的表中,我有12行。 我想使用Hibernate对此进行映射,并使用Java添加新的映射,因此我做了以下工作:分离的实体传递给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") @
@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无关,对吧?不,不相关