小编red*_*ull的帖子

JPA/@PostPersist @PostUpdate - 交易

目前与我的工作@PostPersist@PostUpdate,而在这些触发器我坚持附加实体.问题是,这些触发器是否在同一个交易中,如果不是,是否可以强行执行?

对我而言,它就是这样的.当我查看日志时,事务不存在(它在触发器启动之前提交),这阻止了我(没有REQUIRES_NEW 注入bean的持久方法)保存数据库中的其他实体. REQUIRED属性完全被忽略,MANDATORY属性不会抛出异常.

可能是JUnit的问题(因为我处于开发阶段并且没有测试完整环境中的行为)?

如果无法在此触发器上扩展事务,如何确保如果在@PostPersist和之前发生回滚@PostUpdate,那么这些操作也将被回滚.

java jpa transactions

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

Java/JPA | 使用指定的继承类型进行查询

我正在构建一个通用表"Sample"的查询,我有几个类型继承自此表"SampleOne","SampleTwo".我需要一个像这样的查询:

select s from Sample where s.type = :type
Run Code Online (Sandbox Code Playgroud)

其中type将是表的鉴别值.是否可以以任何方式(并避免创建特定于实体的查询,每个SampleOne,SampleTwo ...等)

我非常感谢本主题的任何意见,

亲切的问候,P.

java jpa entitymanager

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

新的加密算法?

我想知道密码学的新趋势.哪种算法是新的?哪些是改进的,哪些因过去的时间而死?例如,EEC(椭圆曲线密码术)是一种非常新的方法,但绝对不是唯一的方法.你能说出一些吗?

algorithm cryptography

9
推荐指数
2
解决办法
2709
查看次数

JPA:跟踪实体演变/变化的想法

我想知道有没有简单的方法来实现跟踪实体的变化?有来自Hibernate的Envers进行审计,但据我所知,它是以Hibernate为导向的.我在想如果JPA中有什么东西,或者是一个没有超出规范的解决方案.如果没有,有人可能会让我知道如何开始这种事情.我想到的一个想法是创建一个实体,例如:

class Change {
  String className;
  long id;
  String fieldName;
  String fieldValue;
  Date dateOfChange;
}
Run Code Online (Sandbox Code Playgroud)

哪个包含更改的属性.这个解决方案在存储空间方面似乎非常有效,但是处理被跟踪的实体之间的关系可能会更加困难(但尚未弄清楚).

我非常感谢本主题中的任何意见,

亲切的问候,P.

java jpa

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

WebService/java.net.SocketTimeoutException:读取超时

我在WebService中面临一个问题,详细说明:

Caused by: org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:171)
... 26 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1000)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1900)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1828)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:590)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 31 more
Run Code Online (Sandbox Code Playgroud)

当我尝试向目标服务发送请求时,需要30-60秒,并且抛出上述异常.我正在使用Tomcat 5,我想问有没有办法增加超时值?我想要访问的WSDL和WebService也在运行和可用.

我非常感谢任何帮助,

亲切的问候,P.

java tomcat web-services cxf

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

Tomcat /"无法部署应用程序,因为它包含deployment-ids"错误

我面临与在Tomcat 5服务器上部署两个应用程序相关的问题.部署和运行服务器时,我收到一条错误消息,这也会阻止第二个应用程序正常运行.

Unable to deploy collapsed ear in war /my-app: Exception: Application cannot be deployed as it contains deployment-ids which are in use: 
Run Code Online (Sandbox Code Playgroud)

之后会列出所有重复的ID.第二个应用程序是较小的应用程序,它被添加到管理所有实体的现有应用程序中.该项目由Eclipse nad Maven构建.有没有办法添加应该包含在第二个应用程序中的依赖项(我现在打算做什么)所以第二个应用程序将能够知道/使用已经存在的包?

感谢adnvace的任何支持,

问候

tomcat openejb

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

JPA/JPQL - 批量更新

我必须在表上执行批量更新.举个简单的例子:

 UPDATE Book b SET b.amount = b.amount + 1 WHERE b IN ( :books )
Run Code Online (Sandbox Code Playgroud)

问题是b.amount可以是或者是NULL值或者是int,如果有一个NULL值,它应该表现为b.amount将等于1.

在JPA/JPQL中是否有任何"强制转换"或任何其他方式来解决此问题,

先感谢您,

问候,P

jpa jpql

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