java-添加顶级机构,自动添加一个空的父机构对象是什么原因

问题描述

添加顶级机构,自动添加一个空的父机构对象是什么原因

问题说明:机构管理的添加顶级机构,自动添加一个空的顶级机构的父机构对象, 而不是把顶级机构的父机构设置为空

@Entity
@Table(name="t_organization")
public class Organization {

private int id;
private String name;
private String sn;
private String description;
private Organization parent;
private Set<Organization> children = new HashSet<Organization>();

@Id
@GeneratedValue
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getSn() {
    return sn;
}
public void setSn(String sn) {
    this.sn = sn;
}
public String getDescription() {
    return description;
}
public void setDescription(String description) {
    this.description = description;
}

@ManyToOne(cascade=CascadeType.ALL)
public Organization getParent() {
    return parent;
}
public void setParent(Organization parent) {
    this.parent = parent;
}

@OneToMany(mappedBy="parent",cascade=CascadeType.ALL)
public Set<Organization> getChildren() {
    return children;
}
public void setChildren(Set<Organization> children) {
    this.children = children;
}

}
@Component("org")
@Scope(value = "propertype")
public class OrgAction implements ModelDriven{
//extends ActionSupport {

private Organization organization;
private OrgManager orgManager;
private int ppid;

@Override
public Organization getModel() {
    if(organization == null ) {
        organization = new Organization();
    }
    return organization;
}

public int getPpid() {
    return ppid;
}

public void setPpid(int ppid) {
    this.ppid = ppid;
}

public Organization getOrganization() {
    return organization;
}
public void setOrganization(Organization organization) {
    this.organization = organization;
}

@Resource(name = "orgManager")
public void setOrgManager(OrgManager orgManager) {
    this.orgManager = orgManager;
}

public String orgList() {

    ActionContext.getContext().put("orgs",
            orgManager.searchOrganizations(this.organization == null ? 0 :
                 (this.organization.getParent() == null ? 0 : this.organization.getParent().getId()))
            );

    if(this.organization != null) {
        if(this.organization.getParent() != null) {
            Organization parent = this.orgManager.findOrganizationById(this.organization.getParent().getId());
            if(parent.getParent() != null){
                ppid = parent.getParent().getId();
            }
        }
    }
    /*for (Organization org : orgs) {
        System.out.println(org.getName());
    } */
    return "org_list";
}

public String addInput() {
    return "add_input";
}

public String add() {
    orgManager.addOrg(organization, organization.getParent().getId());
    return "add";
}

public String del() {
    this.orgManager.delOrg(this.organization.getId());
    return "del_success";
}

}
数据库显示:
26 | NULL | NULL | NULL | NULL
27 | s | s | null_27 | 26
28 | NULL | NULL | NULL | NULL
29 | v | v | null_29 | 28
30 | NULL | NULL | NULL | NULL
31 | m | m | null_31 | 30
32 | NULL | NULL | NULL | NULL
33 | v | v | null_33 | 32
34 | NULL | NULL | NULL | NULL
35 | i | i | null_35 | 34
36 | NULL | NULL | NULL | NULL
37 | hjh | hgg | null_37 | 36

备注: 添加机构下面的子机构毫无问题

解决方案

因为在数据库中id parent是主外键关系。实体中parent的类型为organization

时间: 2024-11-02 03:38:23

java-添加顶级机构,自动添加一个空的父机构对象是什么原因的相关文章

easyui-easyUi gridDate 点击添加,回自动添加一行,但是怎么让自动添加的单元格是上传文件的类型

问题描述 easyUi gridDate 点击添加,回自动添加一行,但是怎么让自动添加的单元格是上传文件的类型 easyUi gridDate 点击添加,回自动添加一行,但是怎么让自动添加的单元格是上传文件的类型 现在点击新增,是增加了一行,但是都是普通的input表单,如果让新生成的表单是文件上传的类型 解决方案 gridDate是什么东西?easyUI有这个插件? 如果你用js动态添加的html代码,要自己调用组件的方法进行初始化, $('#xxx').filebox() 解决方案二: da

java web-Hibernate根据注解自动建表,有的表新建出错是什么原因

问题描述 Hibernate根据注解自动建表,有的表新建出错是什么原因 项目是自己的毕业设计,当时是没什么问题,但是时过几个月,现在重新运行,发现有两张表始终无法新建, 那好吧,我自己手动建,但是此时我的hbm2ddl.auto=update,当启动tomcat,update到这张表的时候,tomcat直接卡在这里,然后就提示超时了,不知道是什么原因 Hibernate相关属性配置 dataSource.driverClassName=oracle.jdbc.driver.OracleDrive

Myeclipse 6.5在创建action时,类头没有注释,但创建普通的java类就可以,有人知道如何让其自动添加类注释?

问题描述 Myeclipse 6.5在创建action时,类头没有注释,但创建普通的java类就可以,有人知道如何让其自动添加类注释吗? 问题补充:songfantasy 写道 解决方案 引用 但是你创建时,默认的就有个英文类头说明. 它是从哪儿来的? 那请问你用什么更好的开发工具? 推荐,推荐,多谢了.我就是在那里设置的,然后导出来,形式xml,以后每次换eclipse的话,就重新导进去就行.很方便.我用Eclipse JavaEE版本或者Intellij idea.解决方案二:真正的问题应该

jQuery如何实现在ul下添加一张图片自动给改图片添加一个li标签啊

问题描述 jQuery如何实现在ul下添加一张图片自动给改图片添加一个li标签啊 我要实现的效果就是,在ul下添加N张图片,可以从后台任意添加,但是每添加一张图片,都会自动给该图片添加一个li标签,自动生成列表的效果,求大神们支个招,怎么弄, 小弟不会写jQuery语句,所以尽量请各位大侠帮忙写下,谢谢了 解决方案 $('#XXX').append('<li><img src="xxxx"/></li>') 解决方案二: 取得图片的id $('#XX

Android中如何在maiactivity.java中往布局中添加一个文本编辑框

问题描述 Android中如何在maiactivity.java中往布局中添加一个文本编辑框 怎么从maiactivity.java中往布局中添加一个文本编辑框 EditText et_miyue=new EditText(null); et_miyue.setHint("请输入密钥..."); et_miyue.setSingleLine(true); et_miyue.setAlpha(getWallpaperDesiredMinimumWidth()); et_miyue.set

sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张

问题描述 sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张 1C sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张表 但自动生成的表的名字需要是添加的这个表的一个字段的内容 比如说表中添加了一个成员的名字 需要自动生成的表的名字就是这个人名 解决方案 需求可以实现,但没有这么去做的,这个表里有10000条数据时,你生成1万张表???? 建议修改设计,改成其它的方案来实现 解决方案二: Sql Server数据库新增触发器里面可以通过select (

看实例学VFP:向数据表中添加记录时自动生成编号

本例在"看实例学VFP:向数据表中添加记录并验证输入数据是否合法"的基础上进行了改进,实现了在添加记录时不仅能够完成对输入数据的校验,还具有自动生成编号的功能.自动生成编号的相关代码加在表单的init事件及"添加"按钮的click中,在表单第一次启动或添加完记录后都会调用此段代码,实现自动生成编号的功能.运行界面如下: 本例用到了"数据1"数据库中的"网站信息表",关于该数据库的情况已经在看实例学VFP:示例数据库一文中给出,

为Word文档长表格每一页自动添加表头

我在Word中制作了一张超长表格,为了让每一页表格都能有表头和标题行,我设置了重复标题行.但是出现的只有标题行,而总标题.单位.日期等表头部分却没能出现.请问要怎么做才能让每页自动添加表头(图1)? 文档长表格每一页自动添加表头-word文档表格表头"> 图1 答:Word的重复标题行只对表格内文字有效,对表头是无效的.Word中的表格在设置重复标题行后,有一个有趣的特点,那就是当表格上方没有任何文字或空行时,出现在标题行及以上区域的图片.文本框就会重复出现在每一页的相同位置.利用这点即可

Magento 自动添加属性 自动添加表

1自动添加属性字段 config.xml Java代码   <resources>       <featuredcategories_setup>           <setup>               <module>SFC_FeaturedCategories</module>               <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</cl