相关疑难解决方法(0)

Hibernate Criteria vs HQL:哪个更快?

我一直在读一些水壶,但我仍然感到困惑.为什么?因为你提到的差异与绩效无关.它们与易用性有关.(Objetc(标准)和SQL(hql)).但我想知道"条件"是否因某种原因比hql慢.

我在另一个回答中读到了这个

"HQL和criteriaQuery之间的性能存在差异,每次使用criteriaQuery触发查询时,它都会为表名创建一个新别名,这不会反映在任何数据库的最后一个查询缓存中.这会导致开销编译生成的SQL,花费更多时间来执行." 作者:Varun Mehta.

这非常接近但是!我在另一个网站上阅读(http://gary-rowe.com/agilestack/tag/hibernate/)Hibernate 3.3及以上版本不再是这种情况(请阅读:9)Hibernate很慢,因为SQL生成的Criteria接口不一致)

我已经做了一些测试试图找出差异,但两者都生成qry并且它不会更改表的别名.

我很困惑.如果有人知道主要原因,请帮助我们.谢谢

performance hibernate hql hibernate-criteria

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

使用方法:JPQL或Criteria API?

我的Java应用程序使用JPA进行对象持久化.业务域非常简单(只有三个类是持久的,每个类有3-5个属性).查询也很简单.问题是我应该使用哪种方法:JPQL或Criteria API?

java jpa jpql criteria-api jpa-2.0

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

有哪些现实世界的例子,更优选JPA2 Criteria API?

我已经看了JPA 2.0 Criteria API,但我发现它与Hibernate Criteria不同,太麻烦了.是否有充分的理由使用JPA 2.0 Criteria API而不是使用JPA-QL?感谢您的意见.

java hibernate jpa jpa-2.0

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

Hibernate hql,在同一个查询中执行多个更新语句

我想在hibernate Hql中的同一个查询中执行多个更新语句.如下:

hql = " update Table1 set prob1=null where id=:id1; "
                + " delete from Table2 where id =:id2 ";
...
query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

在同一个executeUpdate调用中,我想更新Table1中的记录并从Table2中删除记录.

那可能吗?

java mysql hibernate hql

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

用hibernate加入外键

我是一个hibernate-beginner,在尝试使用hibernate加入2个表时遇到问题.我想要做的是根据商店ID获取某个商店的产品列表,但我得到的是每个商店下列出的数据库中所有可用产品的列表.

这是以下代码Product.java:

@Entity
@Table (name = "products")
public class Product implements Serializable{

/**
 * 
 */
private static final long serialVersionUID = -1001086120280322279L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column (name = "product_id")
private int product_id;

@Column(name = "product_name", unique=true)
private String product_name;

@JoinColumn(name = "store", referencedColumnName="store_id")
@ManyToOne(cascade=CascadeType.ALL)
private Store store;
Run Code Online (Sandbox Code Playgroud)

等等..

这是以下代码Store.java:

@Entity
@Table(name = "stores")
public class Store implements Serializable{
/**
 * 
 */
private static final long serialVersionUID = 4497252090404342019L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column (name = "store_id")
private int store_id; …
Run Code Online (Sandbox Code Playgroud)

java hibernate

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