小编Sob*_*ino的帖子

在使用相同的本机Oracle查询的TOAD时,Hibernate + Java的性能会降低但速度很快

我在Oracle上检测到hibernate和本机查询的性能问题.当我在TOAD上执行带有多个参数的复杂SQL查询时,我得到的结果是毫秒.但是,当我使用Hibernate执行相同的查询时,此时间会大幅增加(最多四秒甚至更多).

我的SQL查询相当复杂,返回一个唯一值(因此,问题与实现类所需的时间无关),它包含几个参数格式为':nameParameter'.此查询存储在String中.例如,

String myNamedNativeQuery = "select count(*) from tables "+
                            "where column1 = :nameParameter1 "+ 
                            "and column2 = :nameParameter2";  
                            //actually my sentence is much more complex!!
Run Code Online (Sandbox Code Playgroud)

当我在TOAD上执行句子时,它会在几毫秒内解决.但是用Hibernate这个句子

SQLQuery query = session.createSQLQuery("myNamedNativeQuery");

query.setParameter(nameParameter1, value1);
query.setParameter(nameParameter2, value2);

query.uniqueResult(); 
Run Code Online (Sandbox Code Playgroud)

需要几秒钟才能得到相同的结果.

我意识到如果我直接在原生查询中替换参数然后我使用Hibernate执行句子,时间会急剧减少.它会是这样的:

String strQuery = session.getNamedQuery("myNamedNativeQuery").getQueryString();

myNamedNativeQuery = myNamedNativeQuery.replace("nameParameter1", value1);
myNamedNativeQuery = myNamedNativeQuery.replace("nameParameter2", value2);

SQLQuery query = session.createSQLQuery("myNamedNativeQuery");
query.uniqueResult(); 
Run Code Online (Sandbox Code Playgroud)

谁知道发生了什么?

提前致谢.

PS:Oracle版本是9i和Hibernate 3.2

java oracle hibernate

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

dyld:未加载库:@ rpath/libswiftCore.dylib.问题仍然存在

我知道这个问题已经多次回答,但是当我为IOS 8.1编写Swift应用程序时,我无法找到正确的解决方案:

dyld:未加载库:@ rpath/libswiftCore.dylib引用自:/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName原因:找不到合适的图像.找到:/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib:mmap()错误1在地址= 0x008A1000,大小= 0x001A4000段= __文本在Segment :: map( )mapping /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib

正如它在这个问题中说的那样

dyld:未加载库:@ rpath/libswiftCore.dylib

我尝试过所有这些动作:

  • 重启Xcode,iPhone,电脑
  • 清洁和重建
  • 撤消并创建新的证书/配置文件
  • Runpath搜索路径是'$(继承)@ executable_path/Frameworks'
  • 嵌入式内容包含Swift Code是'是'
  • 代码签名身份是开发人员

但我总是得到同样的错误......

我正在使用XCode 6.1和OS X Mavericks 10.9.5,我有一个iPhone 4s用于测试.

今天晚上我在朋友的电脑上部署了我的应用程序,一切都很完美.关键是我朋友的OS X是Yosemite 10.10.所以似乎使用Yosemite问题就消失了.

任何想法都会受到赞赏.谢谢.

PS:由于一些复杂的原因,我无法将我的操作系统更新为Yosemite

iphone ios swift xcode6

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

单元测试Spring RESTful控制器时"内容类型未设置"

我有一个类似于这个的Rest控制器:

@RestController
public class UserRestController {

    @Autowired
    private UserService userService;

    @RequestMapping(value = "/user/activate", method = RequestMethod.POST)
    public ResponseEntity<UserDTO> activate(
            @RequestParam(required = true) final String email,
            @RequestParam(required = true) final String key) {

        UserDTO userDTO = userService.activateAccount(email, key);
        return new ResponseEntity<UserDTO>(userDTO, HttpStatus.OK);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我使用Postman调用它并且我不发送'key'参数时,我收到此JSON消息:

{
    "timestamp": 1446211575193,
    "status": 400,
    "error": "Bad Request",
    "exception": "org.springframework.web.bind.MissingServletRequestParameterException",
    "message": "Required String parameter 'key' is not present",
    "path": "/user/activate"
}
Run Code Online (Sandbox Code Playgroud)

另一方面,我正在使用JUnit和MockMVC Spring实用程序测试此方法.

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = ApplicationConfig.class)
@WebAppConfiguration
public class UserRestControllerTest {

    private static MockMvc mockMvc; …
Run Code Online (Sandbox Code Playgroud)

java rest spring unit-testing mockmvc

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

标签 统计

java ×2

hibernate ×1

ios ×1

iphone ×1

mockmvc ×1

oracle ×1

rest ×1

spring ×1

swift ×1

unit-testing ×1

xcode6 ×1