类的继承情况是这样的:
目录:SiteDirectory继承Directory
目录关系:SiteDirectorySubjection继承DirectorySubjectionSiteDirectory跟SiteDirectorySubjection的关系是一对多,我配置成这样:@OneToMany(mappedBy="directoryId", cascade={CascadeType.REMOVE}, fetch=FetchType.LAZY)
@OrderBy("id ASC")
public Set<SiteDirectorySubjection> getSubjections() {
return subjections;
}
但是假如说我现在有另外两个类
部门:Org继承Directory
部门关系:OrgSubjection继承DirectorySubjection
这样的话我又得在Org里配置上一对多的关系,我的Directory作为一个抽象出来的目录类,下面会有不少子类,那我每个类都要重复配置上这样的一对多关系。怎么在Directory里面配置上跟DirectorySubjection的一对多关系,下面的子类继承之后就不需要每个都再重复配置我去掉SiteDirectory的配置,然后在Directory里加上@OneToMany(mappedBy="directoryId", cascade={CascadeType.REMOVE}, fetch=FetchType.LAZY)
@OrderBy("id ASC")
public Set<DirectorySubjection> getSubjections() {
return subjections;
}系统报错:org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: com.lmiky.cms.site.pojo.SiteDirectory.childSubjections[com.lmiky.jeaf.directory.pojo.DirectorySubjection]
目录:SiteDirectory继承Directory
目录关系:SiteDirectorySubjection继承DirectorySubjectionSiteDirectory跟SiteDirectorySubjection的关系是一对多,我配置成这样:@OneToMany(mappedBy="directoryId", cascade={CascadeType.REMOVE}, fetch=FetchType.LAZY)
@OrderBy("id ASC")
public Set<SiteDirectorySubjection> getSubjections() {
return subjections;
}
但是假如说我现在有另外两个类
部门:Org继承Directory
部门关系:OrgSubjection继承DirectorySubjection
这样的话我又得在Org里配置上一对多的关系,我的Directory作为一个抽象出来的目录类,下面会有不少子类,那我每个类都要重复配置上这样的一对多关系。怎么在Directory里面配置上跟DirectorySubjection的一对多关系,下面的子类继承之后就不需要每个都再重复配置我去掉SiteDirectory的配置,然后在Directory里加上@OneToMany(mappedBy="directoryId", cascade={CascadeType.REMOVE}, fetch=FetchType.LAZY)
@OrderBy("id ASC")
public Set<DirectorySubjection> getSubjections() {
return subjections;
}系统报错:org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: com.lmiky.cms.site.pojo.SiteDirectory.childSubjections[com.lmiky.jeaf.directory.pojo.DirectorySubjection]
解决方案 »
- s:select multiple="true" 不能实现多选
- 100分急求:Positional parameter does not exist
- 请问以下各位高手!tomcat+Jboss的最新版本是多少???
- 请问在hibernate中集合映射与不采用集合的映射关系的区别??
- 一个简单的问题:关于读取浮点型数值。
- log4j设置了输出日志文件大小,为什么没用
- 【用action过滤相同用户名】下面的代码为什么不行?
- tomcat运行问题,在线等待
- oracle 9ias难题,高手来拿分啊!
- java 烟花程序,
- java selevt 问题,求高手指教..
- 请问有基于java的电子商务网站吗
沉了就木人给你回答了
可以单方向的,重点是不是这个问题,从错误上看,Hibernate让SiteDirectory跟DirectorySubjection关联了,但是我要的是SiteDirectory跟SiteDirectorySubjection关联。
这样的话,我每个子类都要配置一下跟自己的目录关系类的对应关系
所以我是想可不可以在Directory里配置,下面的子类就不用再一个个配置了
private Set<? extends DirectorySubjection> subjections; //目录的上级目录
private Set<? extends DirectorySubjection> childSubjections; //目录的下级目录
...
}
public class DirectorySubjection extends BasePojo {
private long directoryId; //目录ID
private long parentDirectoryId; //上级目录ID
...
}
public class SiteDirectory extends Directory {
...
}
public class SiteDirectorySubjection extends DirectorySubjection {
...
}
以前用xml方式,也没用泛型的时候,可以这样写<class name="XXX.XXX.XXX.XXX.pojo.SiteDirectory" table="site_directory">
...
<set cascade="delete" inverse="true" lazy="true" name="subjections" table="site_directory_subjection" order-by="id">
<key column="directoryId" />
<one-to-many class="XXX.XXX.XXX.pojo.SitebDirectorySubjection" />
</set>
<set cascade="delete" inverse="true" lazy="true" name="childSubjections" table="site_directory_subjection">
<key column="parentDirectoryId" />
<one-to-many class="XXX.XXX.XXX.pojo.SiteDirectorySubjection" />
</set>
...那如果我用注解方式,要怎么写