Java 使用spring在所有者项目中提供相同对象的多对多xml关系
我有两个表用户和dailyGame在其中有可能映射。我想发送以下信息以响应每日游戏列表:Java 使用spring在所有者项目中提供相同对象的多对多xml关系,java,xml,spring,hibernate,Java,Xml,Spring,Hibernate,我有两个表用户和dailyGame在其中有可能映射。我想发送以下信息以响应每日游戏列表: 游戏名 格式 开始时间 费用 成员计数(我想从第三个表(即dailyGame_用户)中获取计数。) My user.hbm.xml文件包含: <set name="dailyGames" table="dailygame_user" inverse="false" lazy="true" fetch="select" cascade="all" > <
- 游戏名
- 格式
- 开始时间
- 费用
- 成员计数(我想从第三个表(即dailyGame_用户)中获取计数。)
<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 dailyGames=new HashSet()代码>
DailyGameDTO.java:
Set members=newhashset()代码>
对于获取每日游戏列表,我使用以下代码:
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;
}
public List getDailyGameList(){
List gameList=null;
DailyGameDTO DailyGameDTO=null;
List memList=null;
试一试{
Criteria=getCurrentSession().createCriteria(DailyGameDTO.class);
gameList=criteria.list();
}捕获(HibernateeException例外){
logger.error(例如getStackTrace(),例如);
掷骰子;
}
返回游戏列表;
}
此“gameList”变量应包含userDTO对象,但它仅包含dailyGameDTO对象,而不是userDTO。尝试将lazy=“true”更改为lazy=“false”。如果您添加一个小说明,说明为什么应该这样做,您的答案可能会更有用。