小编Rub*_*ick的帖子

如何防止插入时不必要的选择?

我有以下场景(在Java/Hibernate中):

  • 我有两个实体类:X和Y.X与Y的@ManyToOne关联,它不是级联的.
  • 我创建一个X(非托管)实例x和一个(非托管)Y实例y,并在x中填充y的引用.填充的y的唯一字段是主键.
  • 实体y已在底层数据库中具有相应的行,但实体x是新的.
  • 我坚持实体x.

当我执行这个场景时,我希望看到一个查询:INSERT x.然而,实际发生的是Hibernate执行两个查询:

  • 选择y
  • INSERT x

此外,我还注意到在x的持续存在之后,对y的引用实际上并没有被管理,并且会话中没有Y的实例!那么,为什么要执行SELECT上的SELECT呢?有办法防止这种行为吗?

java hibernate many-to-one

5
推荐指数
1
解决办法
425
查看次数

如何在SQL中聚合有序的行子集?

假设我有一个t像这样填充的表:

x y z 
- - - 
A 1 A 
A 4 A 
A 6 B 
A 7 A 
B 1 A 
B 2 A 
Run Code Online (Sandbox Code Playgroud)

基本上,列x和z是随机字母和y随机数.

我想按如下方式聚合行:

x z min(y) max(y)
- - ------ ------
A A 1      4
A B 6      6
A A 7      7
B A 1      2
Run Code Online (Sandbox Code Playgroud)

换句话说:假设行按x,y和z排序,请为每个连续的x和z组选择最小和最大y .

请注意,此查询不是我需要的:

select x, z, min(y), max(y)
from t
group by x, z
Run Code Online (Sandbox Code Playgroud)

因为这会导致以下不需要的结果:

x z min(y) max(y)
- - ------ ------
A A …
Run Code Online (Sandbox Code Playgroud)

sql oracle

5
推荐指数
1
解决办法
229
查看次数

单击文件链接时如何防止空白选项卡出现在Edge中

我有一个html页面,其中包含指向具有各种文件类型的文件的多个链接,例如pdf,csv和zip.根据可用的浏览器插件,其中一些文件可以由浏览器内联打开,而其他文件将被下载.

我不希望在当前选项卡中打开此类链接,因此每个链接都具有该属性target="blank".

这适用于大多数浏览器:

  • 当用户单击指向可以内联显示的文件的链接时,该文件将显示在新选项卡中.
  • 否则,将打开一个新选项卡,并在文件开始下载后立即关闭.用户保持在当前窗口中.

但是,在Microsoft Edge中,第二种情况不起作用:新选项卡保持打开状态.这很烦人,因为用户现在正在查看无用的空标签.

有没有办法防止这种情况发生?

html microsoft-edge

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

标签 统计

hibernate ×1

html ×1

java ×1

many-to-one ×1

microsoft-edge ×1

oracle ×1

sql ×1