小编wil*_*son的帖子

Hibernate SQLQuery - 按名称获取对象

我有一个方法来通过它的"id"获得一个Category,我需要一个类似的方法来通过它的"名称"获得一个Category.我使用Hibernate完成了这些方法.如何修复我的第二种方法以按名称获取类别?我的源代码如下:

// It works
@Override
public Category getById(int id) {
    return (Category) sessionFactory.getCurrentSession().get(Category.class, id);
}

// It doesn't works
@Override
public Category getByName(String name) {
    return (Category) sessionFactory.getCurrentSession().
        createSQLQuery("SELECT FROM Category WHERE name="+name);
}
Run Code Online (Sandbox Code Playgroud)

我有第二种方法的错误:

java.lang.ClassCastException:org.hibernate.impl.SQLQueryImpl无法强制转换为com.sedae.model.Category

这些是我的控制器.

@RequestMapping(value = "/getCategoryById/{id}")
public String getCategoryById(Model model, @PathVariable ("id") int id){
    model.addAttribute("category", categoryService.getById(id));
    return "/getCategoryById";
}

@RequestMapping(value = "/getCategoryByName/{name}")
public String getCategoryByName(Model model, @PathVariable("name") String name){
    model.addAttribute("category", categoryService.getByName(name));
    return "/getCategoryByName";
}
Run Code Online (Sandbox Code Playgroud)

在此先感谢大家.

java spring hibernate sessionfactory

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

使用@PATCH方法进行Spring REST部分更新

我正在尝试基于以下内容实现Manager实体的部分更新:

实体

public class Manager {
    private int id;
    private String firstname;
    private String lastname;
    private String username;
    private String password;

    // getters and setters omitted
}
Run Code Online (Sandbox Code Playgroud)

Controller中的SaveManager方法

@RequestMapping(value = "/save", method = RequestMethod.PATCH)
public @ResponseBody void saveManager(@RequestBody Manager manager){
    managerService.saveManager(manager);
}
Run Code Online (Sandbox Code Playgroud)

在Dao impl中保存对象管理器.

@Override
public void saveManager(Manager manager) {  
    sessionFactory.getCurrentSession().saveOrUpdate(manager);
}
Run Code Online (Sandbox Code Playgroud)

保存对象时,用户名和密码已正确更改,但其他值为空.

所以我需要做的是更新用户名和密码并保留所有剩余的数据.

java rest spring

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

AngularJS - 来自$ resource的空数组的forEach()

我有一个从服务中获取的数组,但在控制器中我在forEach()函数中得到一个空值.这是代码.

调节器

这里,'products'和'copyProducts'都是空的.我需要使用'copyProducts'数组到forEach()函数中.

app.controller("controllerApp", function($scope, serviceApp){

  var products = serviceApp.query(); 
  $scope.copyProducts = products;

  angular.forEach($scope.copyProducts, function(value, key){
    console.log("object: "+value);
  })

});
Run Code Online (Sandbox Code Playgroud)

服务

app.factory("serviceApp", function($resource){
  return $resource("products.json", {}, {
        getAll: {
            method: "GET",
            isArray: true
        }
    })
})
Run Code Online (Sandbox Code Playgroud)

javascript arrays foreach angularjs

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