我在spring boot中有一个本机查询,如下所示:
select
a.x,
a.y,
b.m,
b.n
from
table1 a,
table2 b
where
a.x = b.x
order by a.x
在这里,对于表1的每个条目,表2中可以有多个匹配的行。即有一个到多个映射。
为此,我创建了一个对象来保存数据:
@Entity@Table(name="table1")@秒表(name="table2", pkJoinClons={@PrimaryKeyJoinCol列(name="x",引用的列名称="x")})公共类TableData{
@Id
@Column(name = "x")
public String x;
@Column(name = "y")
public String y;
@Column(name = "m", table = "table2")
public String m;
@Column(name = "n", table = "table2")
public String n;
//getters and setters
当我在db中执行sql时,我看到结果很好。一、 e我看到两行a.x相同,但b.m和b.n不同
但是我的json响应有两行相同的a. x和相同的b. m和b. n
样本数据:
表1:ManagerID|ManagerName|角色'1','John','Manager'
表2:ManagerID|AssociateName|AssociateId
'1','Peter','2'
'1','Jacob','3'
预期输出
'1','约翰','彼得','2'
'1','约翰','雅各布','3'
我现在看到的输出:
“1”、“约翰”、“彼得”、“2”、“1”、“约翰”、“彼得”、“2”
猜猜我哪里做错了??
我的问题通过使用@IdClass注释得到了解决,因为查询的结果数据是一个连接,唯一性可以通过字段组合来维护!!
谢谢你的帮助。我真的不明白我做错了什么。
如何在下面的本机搜索查询中添加查询超时?
问题内容: 我在玩node.js,express和mongoose。 为了立即启动并运行,我将Express查询字符串对象直接传递给mongoose find函数。我很好奇的是,这种做法在实时应用中会有多危险。我知道RDBMS极易受到SQL注入的攻击。除了“清理您的输入”的好建议之外,这段代码有多邪恶: 这意味着获取请求只会将以下内容推送到findDocs函数中: 由于种种原因,这感觉很不好,但是
假设我们有下表,命名为“文档”: 两个*日期列是时间戳,而另一个都是字符串(甚至是) 目前我在Spring存储库中使用了以下本机查询: 如您所见,这必须用作本机查询,因为JPA不支持子句中的选择查询。现在我必须将此查询转换为JPQL查询,以使其独立于数据库。这在某种程度上是可能的吗?欢迎其他方法,例如使用规范或类似的...
我想它一定是在请求体。我如何发送‘更新’查询或我做错了?
我想它一定在请求的身体里。我如何发送“更新”查询或我做错了?