之间是否存在差异:
Object o = new Object();
session.save(o)
和
session.save(new Object());
我问,因为我发现有时候我的实现中的对象混淆了。差异在生产数据库中找到。所以很难测试。
以下是编辑过的代码:
pubic class Product {
Logger logger = Logger.getRootLogger();
private String globalId;
public void service() {
this.gobalId = getVariable("GLOBALID"); //from Asterisk
Transaction tran = null;
try {
Session session = HibernateUtil.getCurrentSession();
int charge=0;
//set charge
Transaction tran = session.beginTransaction();
session.save(new Packet(globalId, charge));
tran.commit();
} catch (Exception e) {
if (tran != null) tran.rollback();
logger.error("Error", e);
} finally {
HibernateUtil.closeCurrentSession();
}
}
}
在运行时,我在Packet表中看到具有不同Charge列值的globalId行。 globalId应该是唯一的,即使它不是表中的主键。可能有几个解释:
我没有在日志中看到任何错误。因此代码中不会抛出任何异常。
感谢任何帮助。
由于