小编Gil*_*ert的帖子

用于返回特定字段的Spring数据JPA

Spring Data是否有返回特定字段的机制?

我熟悉语法:

Invoice findByCode(String code);
Run Code Online (Sandbox Code Playgroud)

这个怎么样:

Integer findIdByCode(String code);
Run Code Online (Sandbox Code Playgroud)

它只返回id字段.要么

Tuple findIdAndNameByCode(String code);
Run Code Online (Sandbox Code Playgroud)

它返回一个元组.要么

Invoice findIdAndNameByCode(String code);
Run Code Online (Sandbox Code Playgroud)

返回仅填充特定字段的实体.可以使用构造函数仅在定义时使用那些字段 - 否则构造为空并填充字段.

编辑

为了获得更多资格,我知道@Query,构造函数表达式和现在的@Na​​medEntityGraph等解决方案.我的问题很简单 - Spring数据是否像我建议的那样支持如此简短的语法?

如果没有,也许对于以后的版本来说这是一个很酷的增强...

我不是在寻找解决方法.

spring jpa spring-data-jpa

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

使用Scala Argonaut解析JSON数组

我正在使用Scala&Argonaut,尝试解析以下JSON:

[
    {
        "name": "apple",
        "type": "fruit",
        "size": 3
    },
    {
        "name": "jam",
        "type": "condiment",
        "size": 5
    },
    {
        "name": "beef",
        "type": "meat",
        "size": 1
    }
]
Run Code Online (Sandbox Code Playgroud)

而奋力工作,如何进行迭代,把值到一个List[MyType]地方MyType都会有名称,类型和大小等属性.

我将很快发布更具体的代码(我尝试了很多东西),但基本上我想了解光标的工作方式,以及如何遍历数组等.我尝试使用\\(downArray)移动到头部数组,然后:->-迭代数组,然后--\(downField)不可用(至少IntelliJ不这么认为).所以问题是我如何:

  • 导航到数组
  • 遍历数组(并知道我什么时候完成)
  • 提取每个字段的字符串,整数等值 - jdecode[String]as[String]

json scala argonaut

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

SQL Server在使用THROW时回滚我的事务

我的一个表上有一个INSERT触发器,当它找到重复时发出一个THROW.问题是我的事务似乎在这一点上被隐式回滚 - 这是一个问题,我想控制何时回滚事务.

可以使用此脚本重新创建该问题:

CREATE TABLE xTable (
        id int identity not null
)
go
create trigger xTrigger on xTable after insert as
print 'inserting...';
throw 1600000, 'blah', 1
go

begin tran
insert into xTable default values
rollback tran

go
drop table xTable
Run Code Online (Sandbox Code Playgroud)

如果你运行rollback tran - 它会告诉你没有begin tran.

如果我将THROW交换为"正常"异常(如SELECT 1/0),则不会回滚事务.

我检查了xact_abort标志 - 它已关闭.

使用SQL Server 2012并通过SSMS进行测试

任何帮助表示感谢,谢谢.

编辑 阅读@Dan Guzman发表的文章后,我得出以下结论/总结......

SQL Server在触发器中自动设置XACT_ABORT ON.

我的例子(上图)没有说明我的情况 - 实际上我正在使用触发器创建扩展约束.

我的用例是人为的,我试图在SAME单元​​测试中测试多种情况(不是现实世界的情况,而不是良好的单元测试练习).

我对扩展约束检查的处理和在触发器中抛出错误是正确的,但是没有真正的情况我不想回滚事务.

在特定情况的触发器内设置XACT_ABORT OFF会很有用; 但是你的交易仍会受到一般批量中止错误(如死锁)的破坏.

抛开历史原因,我不同意SQL Server对此的处理; 只是因为目前没有您希望继续交易的情况,并不意味着可能不会出现这种情况.我希望看到一个人能够设置SQL Server来维护事务的完整性,如果你选择的架构是在源头严格管理事务,即"他一个人开始交易,必须完成它".除了通常的故障保险之外,例如,如果由于系统故障而永远无法访问您的代码.

sql-server transactions throw

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

如何在java transaformer中访问记录变量

我正在从直线单线程转换流程,以使用批处理器.所以,我将大部分流变量转换为recordVars.我在文档中找不到的一些问题:

  • 如何访问java转换器中的记录var?我习惯使用message.getInvocationProperty来获取流量变量
  • 当我更改流量变量时会发生什么 - 批次中的其他线程是否可以看到变化?

java transformer-model mule

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