相关疑难解决方法(0)

休眠,插入或更新而不选择

我有一个产品对象属于某些类别,即经典的多对一关系.

@Entity
public class Product{

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    Long id;

    String name;
    Double price;
    @ManyToOne(fetch = FetchType.LAZY)
    Category category;
...
}

@Entity
public class Category implements Identifiable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String name;
...
}
Run Code Online (Sandbox Code Playgroud)

我想在不预先选择类别的情况下插入和更新产品.像这样:

Product product = dao.get(productId);
Category category = dao.get(categoryId);
product.setCategory(category);
dao.update(product);
Run Code Online (Sandbox Code Playgroud)

要么

Product product = new Product(somename);
Category category = dao.get(categoryId);
product.setCategory(category);
dao.insert(product);
Run Code Online (Sandbox Code Playgroud)

是否可以在没有类别选择的情况下更新和插入?我不想使用HQL或直接查询.

select hibernate insert

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

休眠更新查询问题

对于此更新查询

update TestDB.dbo.MyEmp set empname=? where empid=?
Run Code Online (Sandbox Code Playgroud)

我在我的 DAO 课上写的

MyEmployee myEmployee = new MyEmployee();

MyEmployee myEmployee =(MyEmployee )session.load(MyEmployee.class, 
  new Integer(1700));
myEmployee.setName("updatedName"); 
session.update(myEmployee );
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我需要知道下面提到的这种类型的更新查询

update TestDB.dbo.MyEmp set empsalary=? where empid=? && empname = ?
Run Code Online (Sandbox Code Playgroud)

(即,我需要通过在 where 子句中使用两个条件来更新表,这可以通过 HQL 来完成,但我想知道我们如何使用 saveOrUpdate 方法来实现这一点..)

如何使用 update 或 saveOrUpdate 方法()进行更新?在休眠中是否可以这样做?

java orm dao hibernate sql-update

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

标签 统计

hibernate ×2

dao ×1

insert ×1

java ×1

orm ×1

select ×1

sql-update ×1