我有两个表user和dailyGame,其中可能有映射。我想发送以下信息作为回应,以显示每日游戏列表:
我的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。
发布于 2015-11-26 12:30:44
尝试将lazy="true“更改为lazy="false”。
https://stackoverflow.com/questions/33937555
复制相似问题