小编Tim*_*imo的帖子

使用EntityManager进行Hibernate更新

我正在使用Hibernate 4.1.7并尝试更新对象,但没有文档应该如何完成.目前,我这样做:

    Person person = personDao.getPersonById(1);
    person.setAge(23);
    person.setLastname("McName");
    person = personDao.update(person);
Run Code Online (Sandbox Code Playgroud)

在PersonDao更新看起来像:

    public Person update(Person person) {
      return entityManager.merge(person);
    }
Run Code Online (Sandbox Code Playgroud)

在PersonDao中,getPersonById是:

    public Person getPersonById(int id) {
      personQuery = entityManager.createNamedQuery("Person.findPerson", Person.class);
      personQuery.setParameter("id", id);
      return personQuery.getSingleResult();
    }
Run Code Online (Sandbox Code Playgroud)

我也在Person类中定义了命名查询,并在这里:

    @NamedQuery(name="Person.findPerson", query="SELECT p FROM Person p WHERE p.id = :id")
Run Code Online (Sandbox Code Playgroud)

通过使用我的Person将不会更新,我应该如何使用hibernate实现更新?

java hibernate named-query hibernate-entitymanager

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

在"SELECT*FROM user"附近查询语法错误?

可能重复:
关键字"用户"附近的语法不正确

我正在尝试在SQL Server Management Studio 2008中使用非常简单的SQL查询,确切的查询是:

SELECT * FROM User;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行它时,它给了我错误.

消息156,级别15,状态1,行1
关键字"用户"附近的语法不正确.

这个表存在,当我尝试用这个语句选择任何其他表数据时(通过替换表名),我得到了我想要的所有数据.有谁想法如何修复它?试图google它,但没有得到答案.

sql t-sql sql-server

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