草庐IT

transaction_utc

全部标签

spring - @PostConstruct 方法上的 @Transactional

我想在我的应用程序开始时读取文本数据固定装置(CSV文件)并将其放入我的数据库中。为此,我创建了一个带有初始化方法(@PostConstruct注释)的PopulationService。我还希望它们在单个事务中执行,因此我在同一方法上添加了@Transactional。但是,@Transactional似乎被忽略了:事务在我的低级DAO方法中启动/停止。那我需要手动管理交易吗? 最佳答案 来自旧版(已关闭)Spring论坛的引述:Inthe@PostConstruct(aswiththeafterPropertiesSetfrom

Spring @Transactional 只读传播

我正在尝试使用命令模式来允许我的Web层在单个事务的上下文中使用Hibernate实体(从而避免延迟加载异常)。然而,我现在对如何处理交易感到困惑。我的命令调用带有@Transactional注释的服务层方法。其中一些服务层方法是只读的-例如@Transactional(readOnly=true)-有些是读/写的。我的服务层公开了一个命令处理程序,它代表Web层执行传递给它的命令。@TransactionalpublicCommandhandle(Commandcmd)throwsCommandException我认为我在使命令处理程序的handle方法具有事务性方面是正确的。这就是

java - 在类与方法上定义@Transactional有什么区别

案例1@TransactionalpublicclassUserServiceImplimplementsUserService{...................publicvoidmethod1(){try{method2();}catch(Exceptione){}}publicvoidmethod2(){}}案例2publicclassUserServiceImplimplementsUserService{...................publicvoidmethod1(){try{method2();}catch(Exceptione){}}@Transacti

java - @Transactional 方法调用另一个没有@Transactional 注释的方法?

我在Service类中看到了一个方法,它被标记为@Transactional,但它还在同一个类中调用了一些其他方法,这些方法没有被标记为@Transactional。这是否意味着对单独方法的调用导致应用程序打开到DB的单独连接或暂停父事务等?一个没有任何注解的方法被另一个带有@Transactional注解的方法调用的默认行为是什么? 最佳答案 当您在事务block中调用没有@Transactional的方法时,父事务将继续执行新方法。它将使用来自父方法的相同连接(使用@Transactional),并且在被调用方法中引起的任何异常

spring - "@Transactional"应该放在哪里服务层或者DAO

首先,我可能会问一些以前被问过和回答过的问题,但我无法得到搜索结果。我们在服务层上定义事务注释,典型的springhibernatecrud通常是Controller->Manager->Dao->Orm.我现在遇到需要在基于客户端站点的域模型之间进行选择的情况。假设客户端A正在使用我的域模型,一切都很好,但是其他客户端站点会给我一个Web服务而不是使用我们的域模型。我应该更换哪一层。我相信它必须是DAO,它将从Web服务中获取我的数据并将其发送回。即两个单独编写的DAO层并根据场景插入。我现在意识到,当我们将@Transactional放在Service层时,我们一直在做紧耦合(如果

mysql - 在 MySQL 中获取当前 UTC 时间的 unix 时间戳的最佳方法

我一直在尝试在mySQL中使用以下内容为当前UTC时间创建一个unix戳UNIX_TIMESTAMP(UTC_TIMESTAMP())当我执行查询并获得结果时,似乎mySQL正在执行两次UTC对话。Eg.localtime9:07PM上面的查询返回:1374390482,即次日07:08:02GMT,正确,但是,UNIX_TIMESTAMP(LOCALTIMESTAMP())返回:137437255102:09:11GMT这是正确的UTCunix时间戳。所以UNIX_TIMESTAMP会自动将日期对象的时区转换为UTC(不管它是否已经是UTC?)有没有更好的方法或单个命令来获取mySQ

mysql - MySQL 可以将存储的 UTC 时间转换为本地时区吗?

MySQL可以直接在普通的select语句中将存储的UTC时间转换为本地时区时间吗?假设您有一些带有时间戳(UTC)的数据。CREATETABLE`SomeDateTable`(`id`int(11)NOTNULLauto_increment,`value`floatNOTNULLdefault'0',`date`datetimeNOTNULLdefault'0000-00-0000:00:00',PRIMARYKEY(`id`))然后当我"selectvalue,datefromSomeDateTable";我当然会以存储的UTC格式获取所有日期。但是假设我想让它们在另一个时区(使用

mysql - 为 "Lock wait timeout exceeded; try restarting transaction"Mysql 表修复 'stuck"?

通过一个脚本,我向我的本地数据库发送了数千次这样的查询:updatesome_tablesetsome_column=some_value我忘了添加where部分,所以表中的所有行都将同一列设置为相同的值,这已经完成了数千次并且列被索引了,所以相应的索引也可能被更新了很多次。我注意到有问题,因为花了太长时间,所以我终止了脚本。从那时起,我什至重新启动了我的计算机,但有些东西卡在了表中,因为简单的查询需要很长时间才能运行,当我尝试删除相关索引时,它会失败并显示以下消息:Lockwaittimeoutexceeded;tryrestartingtransaction这是一个innodb表,

mysql - MySQL 是否应该将其时区设置为 UTC?

跟进问题https://serverfault.com/questions/191331/should-servers-have-their-timezone-set-to-gmt-utcMySQL时区应该设置为UTC还是应该设置为与服务器或PHP设置的时区相同?(如果不是UTC)有什么优点和缺点? 最佳答案 只要您为当前时区设置了正确的时间,知道您存储的日期时间列的时区,并且知道夏令时的问题,服务器上的时区似乎并不重要。另一方面,如果您可以控制所使用服务器的时区,那么您可以在内部将所有内容设置为UTC,而不必担心时区和DST。以下

mysql - 即使我没有使用事务,也会得到 "Lock wait timeout exceeded; try restarting transaction"

我正在运行以下MySQLUPDATE语句:mysql>updatecustomersetaccount_import_id=1;ERROR1205(HY000):Lockwaittimeoutexceeded;tryrestartingtransaction我没有使用交易,为什么会出现这个错误?我什至尝试重新启动我的MySQL服务器,但没有帮助。该表有406,733行。 最佳答案 如何强制解锁MySQL中的锁定表:像这样破坏锁可能会导致atomicity在数据库中不会对导致锁定的sql语句强制执行。这太骇人听闻了,正确的解决方案是修