Tag: fetch

如何进行连接提取而不是使用EclipseLink选择fectching?

我在两个实体之间有一个OneToOne关系。 默认情况下,这种关系很急切,但是在记录请求时,我只看到多个选择,不会出现连接 。 迫切渴望的同样的事情。 你知道如何告诉eclipselink使用连接提取(如hibernate中的@Fetch(JOIN))吗? 谢谢

如何使用Hibernate Criteria懒惰地获取字段

应阅读表格Person (具有name , firstname和age )的每一行。 EntityManager em = emf.createEntityManager(); Session s = (Session) em.getDelegate(); Criteria criteria = s.createCriteria(Person.class); criteria.setFetchMode(“age”, FetchMode.SELECT); 但SQL显示 Hibernate: select person0_.name, person0_.firstname, person0_.age from SCOPE.PERSON person0_ 如何让年龄只为标准而懒惰?

JPA默认提取类型

从我的理解@OneToOne和@ManyToOne JPA注释做了一个eager提取。 我希望这些在我的应用程序中延迟加载,或者至少提示它(这是hibernate默认的)。 我已经开始添加注释fetch = FetchType.LAZY 例如 @ManyToOne(optional = false, fetch = FetchType.LAZY) 代替 @ManyToOne(optional = false) 这既乏味又容易出错。 有没有办法在应用程序级别执行此操作? 在persistence.xml中也许?

Hibernate正在做多个select请求而不是一个(使用join fetch)

我有以下查询,我希望在单个选择请求中运行: @NamedQuery(name=Game.GET_GAME_BY_ID1, query = “SELECT g FROM Game g ” + “JOIN FETCH g.team1 t1 ” + “JOIN FETCH t1.players p1 ” + “JOIN FETCH p1.playerSkill skill1 ” + “where g.id=:id”) 问题是所有内容都是由单独的多个查询提取的。 我只希望在一个请求中获取团队和团队的玩家以及每个玩家的技能。 但相反,我有多个选择查询来获取每个球队,球员,每个球员的统计数据和技能。 以下是与注释一起使用的实体: 游戏实体: public class Game implements Serializable { private Integer id; private Integer dayNumber; private Long date; private Integer score1; private […]

JPA 2条件获取路径导航

使用JPA 2 Criteria Join方法,我可以执行以下操作: //Join Example (default inner join) int age = 25; CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery c = cb.createQuery(Team.class); Root t = c.from(Team.class); Join p = t.join(Team_.players); c.select(t).where(cb.equal(p.get(Player_.age), age)); TypedQuery q = entityManager.createQuery(c); List result = q.getResultList(); 我怎么能用fetch方法做同样的事情,我期望Fetch接口有get路径导航方法,但它没有: //Fetch Join Example int age = 25; CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery cq = cb.createQuery(Team.class); […]