小编Phu*_* An的帖子

拒绝承诺Angular ui-router后的$ state transition

我正在使用Angular ui-router并在初始化控制器之前为我的一个状态设置了解析功能.我检索一些数据,循环并匹配URL stateParam,如果找到匹配,解析对控制器的承诺并在promise中返回该对象.这一切都运作良好.

但是,如果未找到匹配项,我只想通过拒绝承诺并运行来重定向到其他状态 $state.go('state');

这个:

deferred.reject();
$state.go('state',{params: 'param'});
Run Code Online (Sandbox Code Playgroud)

但这似乎没有做任何事情.控制器只是挂起,我没有控制台错误或任何东西.有任何想法吗?

这个问题适用于版本0.xx,版本1.xx中的许多内容已经改变

javascript url-routing promise angularjs angular-ui-router

18
推荐指数
1
解决办法
2万
查看次数

Hibernate以多对一方式生成m + 1个查询

我的问题很简单,但我不知道如何让Hibernate以我想要的方式运行: - 表MainTable有很多2-One与ParentTable(有100行).MainTable指向ParentTable中100行中的m = 26行

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "PARENT_ID")
@Fetch(FetchMode.JOIN)
Run Code Online (Sandbox Code Playgroud)

当我简单地查询"来自MainTable"时

它将生成26 + 1个查询

当我跟踪查询时,第一个查询仅加载26个以后查询使用的PARENT_ID.我想它应该有在第一个查询中加载整个PARENT_TABLE的方法..

请假设:

  • FetchType.EAGER是必须的
  • 使用来自MainTable mt left join fetch mt.parent parent是好的,但我们有很多关联

hibernate lazy-loading

7
推荐指数
1
解决办法
5838
查看次数

在中型sql中,mysql 5.7比mysql 5.6慢得多

我们正在升级到mysql 5.7,并发现它比它的5.6计数器部分慢得多.虽然两者具有几乎相同的配置,但5.6版本以毫秒为单位执行大部分sqls,而另一个对于中间复杂sql(例如下面的那个)大约需要1秒或更长时间.

-- Getting most recent users that are email-verified and not banned 

SELECT
    `u`.*
FROM
    `user` AS `u`
INNER JOIN `user` user_table_alias ON user_table_alias.`id` = `u`.`id`
LEFT JOIN `user_suspend` user_suspend_table_alias ON user_suspend_table_alias.`userId` = `user_table_alias`.`id`
WHERE
    (
        `user_suspend_table_alias`.`id` IS NULL
    )
AND 
    `user_table_alias`.`emailVerify` = 1

ORDER BY
    `u`.`joinStamp` DESC
LIMIT 1, 18
Run Code Online (Sandbox Code Playgroud)

这两个表都很简单,索引很好:

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(128) NOT NULL …
Run Code Online (Sandbox Code Playgroud)

php mysql sql-server query-cache

6
推荐指数
1
解决办法
1643
查看次数

amphp如何工作

他们网站http://amphp.org/faq上的文档对 我来说不是很清楚.事情让我感到困惑.它是否打算作为服务器运行?或以CLI身份运行?或者在web容器中运行(apache,nginx fpm)?并且php本质上是同步的,如果没有某种扩展(如pthread)的支持,它怎么可能是异步的.

编辑---

放大器的潜在应用:后台线程?在一个简单的用例中,用户提交订单,php可以随着时间来处理订单.所以我们想要使用线程(比如Java servlet一直这样做),而不是让用户等待.我们知道它可以用cron-job或者附加-ajax来完成,但它很难看,我们有很多这种异步要求

php multithreading amphp

2
推荐指数
1
解决办法
1689
查看次数