Hibernate 删除所有行并从 1 开始索引
Hibernate delete all rows and start indexing from 1
我想每晚更新我的数据库以获得新值。简单地说 'start over' 删除所有行并存储新数据。
到目前为止,我正在使用这两个查询进行操作:
public void deleteProduct() {
Transaction transaction = null;
try (Session session = HibernateUtil.getSessionFactory().openSession()) {
transaction = session.beginTransaction();
session.createQuery("DELETE FROM Product").executeUpdate();
} catch (Exception e) {
if (transaction != null) {
transaction.rollback();
}
e.printStackTrace();
}
}
和
public void saveProduct(Product student) {
Transaction transaction = null;
try (Session session = HibernateUtil.getSessionFactory().openSession()) {
transaction = session.beginTransaction();
// save the student object
session.save(student);
transaction.commit();
} catch (Exception e) {
if (transaction != null) {
transaction.rollback();
}
e.printStackTrace();
}
}
对于每个元素。
我正在处理的问题是在删除和插入新值之后。
我记录的索引不是从零开始,而是从删除前最后一行的编号开始。
您可以删除 table,然后使用同样简单的 sql 语句重建它们。或者,您可以忽略您的键值,只要它是唯一的并且可以正常工作即可。把自己的专栏做成计数器,让钥匙成为钥匙。那里有几种选择。但如果您真的希望该键再次从 1 开始,我会重建 table。
我想每晚更新我的数据库以获得新值。简单地说 'start over' 删除所有行并存储新数据。
到目前为止,我正在使用这两个查询进行操作:
public void deleteProduct() {
Transaction transaction = null;
try (Session session = HibernateUtil.getSessionFactory().openSession()) {
transaction = session.beginTransaction();
session.createQuery("DELETE FROM Product").executeUpdate();
} catch (Exception e) {
if (transaction != null) {
transaction.rollback();
}
e.printStackTrace();
}
}
和
public void saveProduct(Product student) {
Transaction transaction = null;
try (Session session = HibernateUtil.getSessionFactory().openSession()) {
transaction = session.beginTransaction();
// save the student object
session.save(student);
transaction.commit();
} catch (Exception e) {
if (transaction != null) {
transaction.rollback();
}
e.printStackTrace();
}
}
对于每个元素。
我正在处理的问题是在删除和插入新值之后。 我记录的索引不是从零开始,而是从删除前最后一行的编号开始。
您可以删除 table,然后使用同样简单的 sql 语句重建它们。或者,您可以忽略您的键值,只要它是唯一的并且可以正常工作即可。把自己的专栏做成计数器,让钥匙成为钥匙。那里有几种选择。但如果您真的希望该键再次从 1 开始,我会重建 table。