Hibernate一个一对多的配置,不知道怎么从xml改为注解

我详细贴出代码说下吧

 

类的关系是:

 

  目录:SiteDirectory继承Directory
  目录关系:SiteDirectorySubjection继承DirectorySubjection

 

public class Directory extends BasePojo {
        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>
...

 现在加上了泛型,用注解方式怎么配置

 

我只有30分,全部都奉上了,帮忙下

4个回答

需要什么样的关系就配什么关系就可以了,需要公用的就放在最基本的那个pojo里,其他的需要扩展的就继承。不是还有override呢么,不行就override了。

本人建议你去看看网络上关于hibernate的视频教程,那里面讲的很详细

要用都用,要不用都不用,千万不要一个用一个不用。你滴明白?

呵呵,我的意思就是
SiteDirectory继承Directory
SiteDirectorySubjection继承DirectorySubjection
这四个都用annotation的形式,相互之间继承不会有影响。

但是如果Directory、DirectorySubjection用xml,而SiteDirectory、SiteDirectorySubjection用注解,那麻烦可就不可预知了。

如果你需要知道注解怎么写,建议你去看api或者demo

附上一小段代码,仅供参考
[code="java"]
@Entity
@Table(name="user")
@Proxy(lazy = false)
public class User extends BaseObject implements Serializable, UserDetails {
....
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name="user_role",
joinColumns = { @JoinColumn( name="user_id") },
inverseJoinColumns = @JoinColumn( name="role_id")
)

@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="user")
public Set<BudgetCenter> getBudgetCenters() {
    return this.budgetCenters;
}

....
}
[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问