gpt4 book ai didi

java - 使用 spring 的多对多 xml 关系在所有者对象中给出相同的对象

转载 作者:行者123 更新时间:2023-11-30 07:46:08 26 4
gpt4 key购买 nike

我有两个表 user 和 dailyGame,其中有可能到映射。我想发送以下信息来响应显示每日游戏列表:

  • 游戏名称
  • 格式
  • 开始时间
  • 费用
  • 成员计数(我想从第三个表中获取计数,即 dailyGame_user。)

我的 user.hbm.xml 文件包含:

<set name="dailyGames" table="dailygame_user" 
inverse="false" lazy="true" fetch="select" cascade="all" >
<key>
<column name="userId" not-null="true" />
</key>
<many-to-many entity-name="com.mindbowser.draftDynasty.dto.DailyGameDTO">
<column name="groupId" not-null="true" />
</many-to-many>
</set>

和 DailyGame.hbm.xml :

    <set name="members" table="dailygame_user" inverse="true" lazy="true" fetch="select">
<key>
<column name="gameId" not-null="true" />
</key>
<many-to-many entity-name="com.mindbowser.draftDynasty.dto.UserDTO">
<column name="userId" not-null="true" />
</many-to-many>
</set>

UserDTO.java: Set<DailyGameDTO> dailyGames = new HashSet<DailyGameDTO>();

DailyGameDTO.java: Set<UserDTO> members = new HashSet<UserDTO>();

为了获取每日游戏列表,我使用以下代码:dailyGameDao:

public List<DailyGameDTO> getDailyGameList() {
List<DailyGameDTO> gameList = null;
DailyGameDTO dailyGameDTO=null;
List<DailyGameDTO> memList=null;
try {
Criteria criteria = getCurrentSession().createCriteria(DailyGameDTO.class);
gameList = criteria.list();
} catch (HibernateException ex) {
logger.error(ex.getStackTrace(), ex);
throw ex;
}
return gameList;
}

这个“gameList”变量应该包含 userDTO 对象,但它仅包含 dailyGameDTO 对象而不是 userDTO 。

最佳答案

尝试将lazy="true"更改为lazy="false"。

关于java - 使用 spring 的多对多 xml 关系在所有者对象中给出相同的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33937555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com