hibernate级联读取list应该怎么设置

问题描述

假如A对象里有B对象的集合List<B> b;List<B> b=new ArrayList<B>();应该用哪种方式定义list?要在读取A对象的时候级联的读取list<B>需要怎么配置?

解决方案

xml方式可参考我的博客http://jinnianshilongnian.iteye.com/blog/1522591给你一个示例@Entity@Table(name = "sys_user")public class User extends BaseEntity<Long> implements LogicDeleteable { /** * 用户 组织机构 工作职务关联表 */ @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = UserOrganizationJob.class, mappedBy = "user", orphanRemoval = true) @Fetch(FetchMode.SELECT) @Basic(optional = true, fetch = FetchType.EAGER) @Cascade(value = org.hibernate.annotations.CascadeType.ALL) @OrderBy private List<UserOrganizationJob> organizationJobs; public List<UserOrganizationJob> getOrganizationJobs() { if(organizationJobs == null) { organizationJobs = Lists.newArrayList(); } return organizationJobs; } public void addOrganizationJob(UserOrganizationJob userOrganizationJob) { userOrganizationJob.setUser(this); getOrganizationJobs().add(userOrganizationJob); } public void setOrganizationJobs(List<UserOrganizationJob> organizationJobs) { this.organizationJobs = organizationJobs; } /** * 用户 组织机构 工作职务关联表 */ @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = UserOrganizationJob.class, mappedBy = "user", orphanRemoval = true) @Fetch(FetchMode.SELECT) @Basic(optional = true, fetch = FetchType.EAGER) @Cascade(value = org.hibernate.annotations.CascadeType.ALL) @OrderBy private List<UserOrganizationJob> organizationJobs; public List<UserOrganizationJob> getOrganizationJobs() { if(organizationJobs == null) { organizationJobs = Lists.newArrayList(); } return organizationJobs; } public void addOrganizationJob(UserOrganizationJob userOrganizationJob) { userOrganizationJob.setUser(this); getOrganizationJobs().add(userOrganizationJob); } public void setOrganizationJobs(List<UserOrganizationJob> organizationJobs) { this.organizationJobs = organizationJobs; }List<B> b; //这个就行可以这样public List<UserOrganizationJob> getOrganizationJobs() { if(organizationJobs == null) { organizationJobs = Lists.newArrayList(); } return organizationJobs; }

时间: 2024-09-20 00:29:52

hibernate级联读取list应该怎么设置的相关文章

hibernate级联,删除一方不删除多方,只是把多方的外键置空,请问怎样设置

问题描述 hibernate级联,删除一方不删除多方,只是把多方的外键置空,请问怎样设置问题补充:也就是说这个问题在级联关系中没有对应,需要在删除一方前手动清空多方的外键对应么 解决方案 对头,就是这个意思的解决方案二:可以通过hibernate的回调,用sql语句直接删除来解决你的问题关于回调可以参考这个http://aidiyuxin.iteye.com/blog/224850

hibernate 级联查询

hibernate级联查询 1,实体类结构 Java代码   @Entity   @Table(name = "t_vote")   public class Vote {       private int id;       /***       * 1:最宜居<br>       * 2:最优户<br>       * 3:最佳物业       */       private int type;       private HouseBuilding h

pring-java hibernate级联保存

问题描述 java hibernate级联保存 我用的是级联保存,已保存就报这样的错,实体类user从数据库中查出来的,求大神解决 解决方案 http://blog.csdn.net/huangbiao86/article/details/6581014 解决方案二: 应该先保存many的一方,才能保存one的一方

hibernate 级联删除问题

问题描述 小女子大问题====hibernate级联删除问题====现有相册(Album)和照片2个表(Photo)我想在删除相册的同时删除相册里所有的照片两个表的实体和映射如下publicclassAlbumimplementsSerializable{privateintid;privateStringname;//名称privateStringdescription;//描述privateStringpwd;//密码privateAlbumStatealbumState;//状态多对一单向

mysql-字段大小写并存导致hibernate无法读取数据

问题描述 字段大小写并存导致hibernate无法读取数据 环境 :Linux mysql hibernate 问题:表名大小写并存导致hibernate无法读取数据 方案:如何配置hibernate能够屏蔽数据库中表名大小写问题 要求:不能修改数据库

hibernate 级联删除

问题描述 struts+spring+hibernate级联删除 解决方案 解决方案二:这个是级联删除的<classname="Address">从表</class><classname="Person"casecade="all">主表</class>解决方案三:<classname="Xxxx"/><!--从表--><classname=&quo

hibernate级联删除时无法删除,一对多双向关联,一是Consult 多是TbFiles

问题描述 hibernate级联删除时无法删除,一对多双向关联,一是Consult 多是TbFiles 一的配置: 多的配置: class="com.project.dto.Consult" fetch="select" cascade="all"> 执行代码: public void delConsult(String[] ids){ HibernateTemplate hTemplate=this.getHibernateTemplat

hibernate级联查询的问题

问题描述 根据项目要求,在每个表中加了删除标志deleted_flag,删除用1标志,未删除用0标志.在用hibernate本身的级联查询会把之前的子表已经删除的数据也检索出来.求最好的解决方法.问题补充:如果是一对一呢?怎么解决/您这上面只有对集合进行问题补充:没有其他方法了吗?把one-to-one改成one-to-many,也太奇怪了.换个角度来说,就是换了它们2者的关系了 解决方案 使用Filter引用http://www.qqgb.com/Program/Java/JavaJC/Pro

怎样从ASP.NET 2.0中读取连接字符串的设置

asp.net|字符串 在ASP.NET 2.0中,使用了一种在运行时解析为连接字符串值的新的声明性表达式语法,按名称引用数据库连接字符串.连接字符串本身存储在 Web.config 文件中的 <connectionStrings> 配置节下面,以便易于在单个位置为应用程序中的所有页进行维护. 范例程序代码如下: <?xml version="1.0"?><configuration><connectionStrings><add