gpt4 book ai didi

java - 从 Hibernate 4.3.1 切换到 5.0.6,Transaction 消失了

转载 作者:行者123 更新时间:2023-12-02 02:20:32 24 4
gpt4 key购买 nike

我正在开发一个 Hibernate 项目。我使用了 Netbeans 的 Hibernate 4.3.1 库。然后我需要使用 Apache Lucene 进行全文搜索。为了能够使用 Lucene,我需要切换到 Hibernate 5.x jar。我可以定义一个新的 Transaction 对象,但 TransactionwasRollecBack 方法类不工作。我在好几个地方都使用过这个方法,但现在我被困住了。当我查看 Hibernate 5.0.6 的 javadoc 时,没有像 org.hibernate.transaction 那样的东西。有 org.hibernate.engine.transaction 但它也不起作用。

当我回到 4.3.1 时,wasRolledBack 正在工作,但这次我无法使用 lucene 库运行项目。我很困惑。

最佳答案

wasRolledBack 方法不包含在 Hibernate 5.0.6 版本 Transaction 接口(interface)中 Here

4.3.1 版本,发生在 wasRolledBack 方法中。

现有方法:

public interface Transaction {

void begin();

void commit();

void rollback();

TransactionStatus getStatus();

void registerSynchronization(Synchronization synchronization) throws HibernateException;

void setTimeout(int seconds);

int getTimeout();

void markRollbackOnly();

}

我没有测试,但你可以使用getStatus方法。

示例:

    TransactionStatus transactionStatus = session.getTransaction().getStatus();
if(transactionStatus.equals(TransactionStatus.ROLLED_BACK)){
//action s.a :)
}

编辑1:

TransactionStatus 枚举常量和描述:

ACTIVE : The transaction has been begun, but not yet completed.

COMMITTED : The transaction has been competed successfully.

COMMITTING :Status code indicating a transaction that has begun the second phase of the two-phase commit protocol, but not yet completed this phase.

FAILED_COMMIT:The transaction attempted to commit, but failed.

MARKED_ROLLBACK:The transaction has been marked for rollback only.

NOT_ACTIVE:The transaction has not yet been begun

ROLLED_BACK:The transaction has been rolled back.

ROLLING_BACK:Status code indicating a transaction that is in the process of rolling back.

关于java - 从 Hibernate 4.3.1 切换到 5.0.6,Transaction 消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57279329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com