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,构造函数表达式和现在的@NamedEntityGraph等解决方案.我的问题很简单 - Spring数据是否像我建议的那样支持如此简短的语法?
如果没有,也许对于以后的版本来说这是一个很酷的增强...
我不是在寻找解决方法.
我正在使用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]?我的一个表上有一个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来维护事务的完整性,如果你选择的架构是在源头严格管理事务,即"他一个人开始交易,必须完成它".除了通常的故障保险之外,例如,如果由于系统故障而永远无法访问您的代码.
我正在从直线单线程转换流程,以使用批处理器.所以,我将大部分流变量转换为recordVars.我在文档中找不到的一些问题:
argonaut ×1
java ×1
jpa ×1
json ×1
mule ×1
scala ×1
spring ×1
sql-server ×1
throw ×1
transactions ×1