`

删除一个分类(作为外键),有这分类的产品要设相对字段为null

阅读更多

public ModelAndView del(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		long id = Long.parseLong(request.getParameter("id"));
		
		//新加的编历person,修改person
		HrJob hrjob = hrJobService.getHrJob(id);
		Set hrjobSet = hrjob.getHrPersons();
		Iterator iterator = hrjobSet.iterator();
		iterator.hasNext();
		while(iterator.hasNext())
		{
			HrPerson hrPerson = (HrPerson)iterator.next();
			hrPerson.setHrJob(null);
			hrPersonService.edit(hrPerson);
		}
		//新加的编历person,修改person
		
		hrJobService.delById(id);
		Map model = new HashMap();
        model.put("msg","删除职位成功!");
        model.put("url","manage/hr/job/list.htm");
		return new ModelAndView("/WEB-INF/jsp/messagejs.jsp","model", model);
	}

分享到:
评论

相关推荐

    Mysql增加外键的方法

    这段代码创建了一个名为subtb的表,并指定rootid列作为外键,该外键引用了roottb表中的id列。如果删除了roottb中的某条记录,那么subtb中所有引用了该id的记录也会相应被删除。 如果表已经存在且之前没有定义外键,...

    MySQL外键详解

    它通过引用另一个表的主键来实现这一目标。外键的存在有助于防止在相关联的数据表中输入不一致的数据,并且在进行删除或更新操作时可以自动处理相关的数据,从而简化了数据管理的工作。 - **主要作用**: - **保证...

    MySQL SQL高级特性 字段约束-索引-视图-外键学习实践

    外键的设置要求父表中的外键列必须是键,通常是一个主键或唯一键。在本部分中,虽然没有详细讨论外键的使用方法和作用,但可以知道外键在数据库设计中用于实现数据表之间的关联。 总结来说,字段约束、索引、视图和...

    MySQL中利用外键实现级联删除、更新

    在上面的语句中,我们创建了一个 userinfo 表,并在 userinfo 表中创建了一个外键,引用 user 表中的 id 字段。ON DELETE CASCADE 和 ON UPDATE CASCADE 是指当 user 表中的记录被删除或更新时,userinfo 表中的相关...

    如何处理数据库中的外键

    - **SET NULL**:主表中的记录被删除或更新时,外键字段设为NULL。 4. **级联操作**:级联操作(如CASCADE)在维护数据一致性方面非常有用,但可能引发连锁反应,因此应谨慎使用。 5. **外键的限制**:创建外键时...

    MySQLSQL高级特性字段约束-索引-视图-外键学习实践.rar

    4. **无限制外键**:通过ON DELETE SET NULL和ON UPDATE CASCADE允许外键字段设为NULL或跟随主键变动。 掌握这些高级特性对于优化MySQL数据库的性能、提高数据管理效率以及确保数据的准确性和一致性具有重要意义。...

    Hibernate关联映射-one to one单向外键关联

    3. **唯一性约束**:由于是一对一关系,通常会在数据库层面为外键添加唯一约束,以确保每个`User`只有一个`Account`,反之亦然。 以上就是关于Hibernate中一对一单向外键关联的基本介绍。通过理解和熟练掌握这种...

    masql主外键操作

    如果需要删除表中的一个字段(例如,该字段同时也是主键),可以使用 `ALTER TABLE` 语句配合 `DROP` 子句。示例命令如下: ```sql ALTER TABLE Collum DROP `id`; ``` 这里的 `Collum` 是需要修改的表名,`id` 是...

    sql外键约束

    - `ON DELETE SET NULL`:主键记录被删除时,外键记录的值设为NULL(如果该外键允许为NULL)。 - `ON UPDATE SET NULL`:主键记录的值被更新时,外键记录的值设为NULL。 了解并正确使用外键约束对于设计和管理高效...

    mysql外键设置

    假设有一个产品表 `product` 和一个客户表 `customer`,还有一个订单表 `product_order`,用来记录每个订单所涉及的产品和客户信息。为了维护这些表之间的关系完整性和数据一致性,我们可以定义多个外键。 创建表的...

    mysql处理添加外键时提示error 150 问题的解决方法

    另外,你还必须确定两个字段是否一个为 SIGNED,而另一个又是 UNSIGNED,这两个字段必须严格地一致匹配。 2. 外键没有建立索引 如果你试图引用的其中一个外键没有建立索引,或者不是一个 primary key,那么你必须...

    Oracle定义约束 外键约束

    例如,这里创建了一个名为`students`的表,并且在该表中定义了一个名为`state`的字段,该字段将引用`state_lookup`表中的`state`字段。 ```sql CREATE TABLE students ( student_id VARCHAR2(10) NOT NULL, ...

    PowerDesigner中的CDM设计的外键作主键的问题

    例如,我们可以使用VBS脚本来给每个字段添加一个注释。在Database->Edit Current DBMS中展开Script->Object->Column->Add,修改Value值为: ``` %20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%...

    数据主键和外键的错误总结

    - **解决方法**:选择一个不太变化或者根本不会变化的字段作为主键,比如一个自增ID。 6. **主键过长**:主键的长度应尽可能短,以便于处理和存储。过长的主键不仅浪费空间,还可能影响性能。 - **解决方法**:...

    如何在MySQL数据库中定义外键

    - **SET NULL**:将参照表中的外键字段设置为 NULL,如果主表中的对应字段被删除或更新。 综上所述,通过以上步骤,我们不仅可以在 MySQL 数据库中成功定义外键,还可以根据业务需求选择合适的级联操作来进一步增强...

    Hibernate Annotation 基于外键的一对多双向关联

    在数据库中,这通常通过外键实现,即在一个表中有一个字段指向另一个表的主键。在Java中,我们可以使用`@OneToMany`和`@ManyToOne`注解来建立这种关系。 在双向关联的情况下,两个实体都持有对方的引用。例如,假设...

    mysql外键的设置方法

    1. **维护数据一致性**:外键能够确保一个表中的某些列的值与另一个表中的主键值相匹配,从而防止无效的数据被插入。 2. **防止错误数据**:例如,当一个表中某列的值必须存在于另一个表中时,外键可以避免这些不...

    Hibernate一对一外键映射

    在这里,`mappedBy`属性指定了关联的反向字段,即在`UserProfile`类中有一个`User`对象。 2. **XML配置:** 在`hbm.xml`文件中,可以使用`<one-to-one>`标签进行配置。例如: ```xml ``` **外键约束的设置**...

    LINQ通过外键级联添加和删除数据库的示例

    `Orders`表有一个主键`OrderId`,而`OrderDetails`表有一个外键`OrderId`,引用`Orders`表的`OrderId`。我们可以这样定义实体类: ```csharp public partial class Order { public int OrderId { get; set; } // ...

Global site tag (gtag.js) - Google Analytics