小编nik*_*ers的帖子

Spring/Hibernate:删除实体时出现 InspirationTargetException

如果这个问题有点模糊,我很抱歉,但我很困惑。

我有一个控制器,它调用服务来删除实体,然后在其位置创建一个实体。在服务中,我有我的 DAO 和我的实体,我想删除我的实体,所以我调用

DAO.delete(entity);
Run Code Online (Sandbox Code Playgroud)

然后,似乎不知从何而来,我得到了一个 InitationTargetException 异常。这里的参数是:

method: public org.springframework.web.servlet.ModelAndView tld.myproject.view.web.controller.MyController.replaceEntity(org.springframework.web.multipart.MultipartFile,javax.servlet.http.HttpServletRequest)

target: tld.myproject.view.web.controller.MyController@185918e

args: [org.springframework.web.multipart.commons.CommonsMultipartFile@14812a6, org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest@c08a64]

ex: java.lang.reflect.InvocationTargetException
Run Code Online (Sandbox Code Playgroud)

失败的地方在下面的 Spring 代码中

private Object doInvokeMethod(Method method, Object target, Object[] args) throws Exception {
    ReflectionUtils.makeAccessible(method);
    try {
        return method.invoke(target, args);
    }
    catch (InvocationTargetException ex) {
        ReflectionUtils.rethrowException(ex.getTargetException());
    }
    throw new IllegalStateException("Should never get here");
}
Run Code Online (Sandbox Code Playgroud)

有人对发生的事情有建议吗?我可以在调试中使用什么?

更新: 这是堆栈跟踪:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate invocationtargetexception

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

同一个MKMapView位置上的许多引脚

我有一个场景,许多人住在同一个房子里,因此被映射到相同的经度和纬度.我希望每个人都有一个注释.我需要在同一位置有多个注释/引脚有哪些选项?其他人如何解决类似问题?

干杯

cocoa-touch annotations mkmapview ios4

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

为什么在设置斜体字体时CTFramesetterCreateWithAttributedString会崩溃?

我是Core Text的新手.我有两个属性字符串,只有一个区别,在第二个例子中,第一个字符设置为Verdana-Italic 22.

第一个没有问题通过CTFramesetterCreateWithAttributedString((CFAttributedStringRef)attributedText); 但第二个用EXC_BAD_ACCESS崩溃了.

我知道为什么第二个崩溃的原因是为第一个字符添加斜体verdana?

pCO{
    CTForegroundColor = "<CGColor 0x8664bb0> [<CGColorSpace 0x816eef0> (kCGColorSpaceDeviceGray)] ( 0 1 )";
    NSFont = "CTFont <name: Verdana, size: 22.000000, matrix: 0x0>\nCTFontDescriptor <attributes: <CFBasicHash 0x835a240 [0x13fab48]>{type = mutable dict, count = 1,\nentries =>\n\t1 : <CFString 0x278c40 [0x13fab48]>{contents = \"NSFontNameAttribute\"} = <CFString 0x86566e0 [0x13fab48]>{contents = \"Verdana\"}\n}\n>";
    NSParagraphStyle = "CTParagraphStyle:\nwriting direction = -1, alignment = 2, line break mode = 4, default tab interval = 0\nfirst line head indent = 0, head indent = 0, tail indent …
Run Code Online (Sandbox Code Playgroud)

fonts core-text ios

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

在继续之前获取 [EventLoopF​​uture] 的所有值

我有一组值映射到多个承诺,每个承诺给我一个 EventLoopF​​uture。所以我最终得到了一个具有可变大小 [EventLoopF​​uture] 的方法,我需要所有响应都成功才能继续。如果其中一个或多个返回错误,我需要执行错误场景。

在继续成功路径或错误路径之前,如何等待整个 [EventLoopF​​uture] 完成?

future promise swift vapor swift-nio

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

SwiftUI:创建下拉菜单

HIG Apple 中写道在 iOS 14 及更高版本中,一个按钮可以显示一个下拉菜单,其中列出了人们可以从中选择的项目或操作

这正是我想要的项目。这张带有下拉菜单的“更多”栏按钮的图片完全符合要求。但是,有没有人举个例子说明如何使用 SwiftUI 从按钮创建下拉菜单(不是上下文菜单)?

menu swift swiftui ios14

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

LazyInitializationException,同时使用TestNG对Spring中使用的Hibernate实体类进行单元测试

在我的Spring配置中,我已经要求会话在我的视图中保持打开状态:

  <bean name="openSessionInViewInterceptor" class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
    <property name="sessionFactory" ref="sessionFactory"/>
    <property name="flushMode" value="0" />
  </bean> 
Run Code Online (Sandbox Code Playgroud)

但是,这个bean似乎不认为我的TestNG单元测试是一种观点.;-)那没关系,但有没有类似的bean用于单元测试,以便在单元测试时避免可怕的LazyInitializationException?到目前为止,我的一半单元测试因此而死亡.

我的单元测试通常如下所示:

@ContextConfiguration({"/applicationContext.xml", "/applicationContext-test.xml"})
public class EntityUnitTest extends AbstractTransactionalTestNGSpringContextTests {

  @BeforeClass
  protected void setUp() throws Exception {
    mockEntity = myEntityService.read(1);
  }

  /* tests */

  @Test
  public void LazyOneToManySet() {
    Set<SomeEntity> entities = mockEntity.getSomeEntitySet();
    Assert.assertTrue(entities.size() > 0); // This generates a LazyInitializationException
  }



}
Run Code Online (Sandbox Code Playgroud)

我已经尝试将setUp()更改为:

private SessionFactory sessionFactory = null;

@BeforeClass
protected void setUp() throws Exception {
  sessionFactory = (SessionFactory) this.applicationContext.getBean("sessionFactory");
  Session s = sessionFactory.openSession();
  TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(s));

  mockEntity …
Run Code Online (Sandbox Code Playgroud)

java testng spring unit-testing hibernate

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

MongoDB查询问题:如何通过一个字段表示选择有一个值而另一个字段没有设置?

我是Mongo的新手,我不太明白:
为什么,对于集合test2中的以下项目,第一个查询有效,但第二个查询无效?
为什么查询只给我用户的_id,而不是用户的全部内容,而它确实给了我使用邀请的所有信息?

查询:

db.test2.find({"invitations.acceptedDate": {$exists: false}}, {"invitations.code":"codeAA"})
db.test2.find({"invitations.code":"codeAA"}, {"invitations.acceptedDate": {$exists: false}})
Run Code Online (Sandbox Code Playgroud)

这甚至是在Mongo中表达查询的正确方法吗?我正在尝试编写的查询是:

"请给我一个使用代码'codeAA'发送邀请的用户列表,其中未邀请邀请(邀请不包含已接受的日期)"

数据:

[{
    "username": "userA",
    "password": "secretA",
    "invitations": [{
        "code": "codeAA",
        "emailSentTo": "test1@me.com",
    },{
        "code": "codeAB",
        "emailSentTo": "test@me.com",
        "acceptedDate": "20110424"
    }]},
{
    "username": "userB",
    "password": "secretB",
    "invitations": [{
        "code": "codeBA",
        "emailSentTo": "test1@me.com",
    },{
        "code": "codeBB",
        "emailSentTo": "test@me.com",
    }]},
{
    "username": "userC",
    "password": "secretC",
    "invitations": [{
        "code": "codeCA",
        "emailSentTo": "test1@me.com",
    },{
        "code": "codeAA",
        "emailSentTo": "test@me.com",
        "acceptedDate": "20110424"
    }]},
{
    "username": "userD",
    "password": "secretD",
    "invitations": [{
        "code": "codeDA",
        "emailSentTo": …
Run Code Online (Sandbox Code Playgroud)

mongodb

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

Cocoapods规范使用C++并编译为框架

快速摘要:如何将包含Xcode的标头的包含路径添加到.podspec.json文件中?

我正在开发一个Swift项目,我希望将AudioKit作为依赖项包含在内.对于这个项目,我必须添加'use_frameworks!' 在我的Podfile中

所以我在Podfile中添加了我的Pod(主要的repo还没有更新,这就是我直接指向github repo的原因)

pod 'AudioKit', :git => 'https://github.com/niklassaers/AudioKit.git'
Run Code Online (Sandbox Code Playgroud)

并添加我的一个Swift文件

import AudioKit
Run Code Online (Sandbox Code Playgroud)

然后我的编译器会警告我,这CsoundFile.hppiostream无法找到的引用.iostream.h在:

/Applications/Xcode62.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/c++/4.2.1/backward/iostream.h

与stdlib.h相比,它位于:

/Applications/Xcode62.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/stdlib.h

如何将此标头目录添加到AudioKit.podspec.json(我已经分叉)的搜索路径中.

我已经制作了一个示例项目来演示我在上面所写的内容:https://github.com/niklassaers/AudioKitSwiftFrameworkError - 您可以下载并编译它,您将看到错误消息.

c++ cocoapods podspec swift audiokit

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