繁体   English   中英

休眠5与observablelist一对多

[英]hibernate 5 one-to-many with observablelist

我有两个班已经“休眠”了。 其中一个(类Urlaub)持有相应的getter / setter / property的ObservableList<Votes> vote 第二类(类投票)应映射为一对二关系,但我不知道如何。

我对Urlaub类的映射是:

 <hibernate-mapping> <class name="de.sul.urlaubsplaner.model.Urlaub" table="urlaub_data" catalog="urlaub"> <id name="iddata" type="java.lang.Integer"> <column name="id_data" /> <generator class="identity" /> </id> <property name="iduser" type="java.lang.Integer"> <column name="id_user" /> </property> <property name="startDate" type="java.time.LocalDate"> <column name="start_date" /> </property> <property name="endDate" type="java.time.LocalDate"> <column name="end_date" /> </property> <property name="days" type="java.lang.Integer"> <column name="days" /> </property> <property name="daysSum" type="java.lang.Integer"> <column name="daysSum" /> </property> <property name="status" type="string"> <column name="status" length="255" /> </property> <property name="created" type="java.time.LocalDateTime"> <column name="created"/> </property> <property name="lastChange" type="java.time.LocalDateTime"> <column name="last_change"/> </property> <set name="voteUp" cascade="all"> <key column="id_data"/> <one-to-many class="de.sul.urlaubsplaner.model.UserVote"/> </set> </class> </hibernate-mapping> 
投票

 <hibernate-mapping> <class name="de.sul.urlaubsplaner.model.UserVote" table="urlaub_vote" catalog="urlaub"> <id name="id_vote" type="java.lang.Integer"> <column name="id_vote" /> <generator class="identity" /> </id> <property name="id_data" type="java.lang.Integer"> <column name="id_data"/> </property> <property name="id_user" type="java.lang.Integer"> <column name="id_user"/> </property> <property name="status" type="string"> <column name="status" /> </property> <property name="created" type="java.time.LocalDateTime"> <column name="created"/> </property> <property name="lastChange" type="java.time.LocalDateTime"> <column name="last_change"/> </property> </class> </hibernate-mapping> 

两个id_data都属于...我想做的就是打电话

 List<Urlaub> urlaub = (List<Urlaub>) session.createCriteria(Urlaub.class).list(); 

其中也包含所有UserVote,然后我可以将它们投射到ObservableList。 任何想法? 谢谢Btw知道如何正确插入xml数据:)

经过很长时间的反复试验,才找到了解决方案。 首先,作为休眠初学者,使用netbeans休眠向导很痛苦,因为它使用旧的xml休眠配置语法,而我使用的休眠则可以与较新的类语法一起使用。 因此,首先更改以下几行有助于更改错误消息,然后导致以下问题的解决方案:

<mapping resource="de/superinge/urlaubsplaner/model/Urlaub.hbm.xml"/>
<mapping resource="de/superinge/urlaubsplaner/model/UserVote.hbm.xml"/>

至:

<mapping class="de.superinge.urlaubsplaner.model.Urlaub"/>
<mapping class="de.superinge.urlaubsplaner.model.UserVote"/>

然后在我的Urlaub.class中,我“链接”了UserVote,我必须添加一个OneToMany关系,该关系与在UserVote中映射的列名(在这种情况下为iddata)...

@OneToMany(mappedBy = "iddata")
public List<UserVote> getVoteUp(){
    return voteUp;
}

然后所有的人都像魅力一样工作..希望这可以帮助某人

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM