`
zkh43javaeye
  • 浏览: 85941 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

CascadeType.ALL使用

阅读更多
package com.symbio.fuhu.appstore.jpa.entity;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "currency")
public class Currency extends AppStoreEntity {

	private static final long serialVersionUID = -330160855204109738L;
	
	public Currency() {
	}
	
   public Currency(Name name, SystemInfo systemInfo) {
        this();
        this.name = name;
        this.systemInfo = systemInfo;
    }
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "objectId", nullable = false, unique = true, length = 20)
	private Long objectId;
	
	
	@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	@JoinColumn(name = "name_id", referencedColumnName = "objectId", nullable = true)
	private Name name;
	
	
	public Long getObjectId() {
		return objectId;
	}

	public void setObjectId(Long objectId) {
		this.objectId = objectId;
	}
	
	public Name getName() {
		return name;
	}
	
	public void setName(Name name) {
		this.name = name;
	}
	

}

 

			                          		<tr>
			                            		<td>Currency Name:</td>
			                            		<td><form:input path="currency.name.fullName" cssClass="input" maxlength="50"/>
			                            	    	<form:errors path="currency.name.fullName" cssClass="red"/>
			                            		</td>
			                          		</tr>

 

save.jsp 有CascadeType.ALL ,保存currency的时候,才会自动级联创建name,

不然回报错:object references an unsaved transient instance - save the transient instance before flushing。

0
0
分享到:
评论

相关推荐

    hibernate的_CascadeType属性说明

    例如,在订单系统中,订单和订单项之间的关系可以使用@OneToMany注解,并设置CascadeType为ALL,以实现级联操作。 在使用CascadeType时,需要注意以下几点: * 级联操作只能在满足数据库约束的情况下生效。 * 级联...

    Hibernate cascade在不同关联关系中的具体表现

    - 使用cascade时需谨慎,特别是`CascadeType.ALL`,因为它可能导致数据的意外丢失。 - 了解业务逻辑是决定何时使用cascade的关键,不恰当的使用可能导致数据不一致或性能问题。 - 在处理多对多关联时,应特别注意...

    hibernate 级联(cascade和inverse)一对多

    例如,你可以创建一个父实体,添加一些子实体,并设置级联操作为`CascadeType.ALL`,然后调用父实体的保存方法,观察数据库中是否同时保存了父实体和子实体。 四、数据库配置和Jar包 为了使用Hibernate,你需要正确...

    Hibernate的级联操作(增,删,该)

    当设置为`CascadeType.ALL`或`CascadeType.PERSIST`时,如果在父实体中创建了一个新的子实体,并且这个子实体还没有被持久化到数据库,那么在保存父实体时,Hibernate会自动将子实体一并保存。例如,在一对多关系中...

    详解Hibernate cascade级联属性的CascadeType的用法

    使用`CascadeType.ALL`可以方便地处理所有可能的级联操作,但需要注意可能会引起不必要的数据操作,因此在实际使用中应谨慎。 在实际使用中,根据业务需求选择合适的`CascadeType`非常重要。例如,如果你不希望级联...

    hibernate 关系注解

    Hibernate是一种流行的Java持久化框架,它允许开发人员将对象模型转换为关系数据库模型。...同时,合理使用级联操作(如`CascadeType.ALL`)可以简化数据操作,自动管理对象的状态和数据库的更新。

    Hibernate一对一唯一外键关联映射(双向关联)

    `CascadeType.ALL`参数表示级联操作,当对`EntityA`进行操作(如保存、更新、删除)时,会同时对关联的`EntityB`执行相同的操作。根据实际需求,可以选择其他级联类型,如`CascadeType.PERSIST`仅在保存时级联,`...

    hibernate入门学习

    4. 可以通过`cascade`属性设置级联操作,如`CascadeType.ALL`,这将使得对父对象的操作会影响到子对象,如删除用户时,对应的订单也会被删除。 **三、反转关系** 反转关系指的是在一对多关系中,让关联的多方成为...

    hibernate注释源程序

    在这个例子中,User类与Role类通过`@ManyToOne`建立了一对多的关系,并通过`cascade = CascadeType.ALL`指定了级联操作。这意味着当保存或更新User对象时,其关联的Role对象也会被相应地处理。 总结起来,Hibernate...

    hibernate集合映射inverse和cascade详解.txt

    - `CascadeType.ALL`:结合以上所有操作,即所有操作都将被级联应用。 ### 示例分析 假设我们有`School`和`Student`两个实体类,`School`拥有一个`studentSet`集合,表示一个学校拥有的所有学生。 #### 1. ...

    10_JPA详解_JPA中的一对多双向关联与级联操作.zip

    例如,如果我们设置了`CascadeType.ALL`,当保存或删除一个`Student`时,JPA会自动保存或删除所有相关的`Course`。 ```java // 在Student实体的courses属性上设置级联操作 @OneToMany(mappedBy = "student", ...

    hibernate_second2项目源码

    例如,如果我们有一个`User`类和一个`Address`类,`User`有一个`List&lt;Address&gt;`的属性,我们可以在`@OneToMany`注解中添加`cascade = CascadeType.ALL`,表示当用户对象保存或更新时,其关联的所有地址也会被级联...

    Hibernate级联操作一对多demo

    - 级联操作虽然方便,但需谨慎使用,尤其是`CascadeType.ALL`,因为它可能导致数据丢失或意外更新。 - 性能也是需要考虑的因素,级联操作可能会增加数据库操作的复杂性和开销。 - 最好在了解业务需求后,根据实际...

    JPA中的一对多双向关联与级联操作

    `cascade`属性用于配置级联操作,`CascadeType.ALL`意味着任何对`User`的操作(如保存、更新、删除)都将影响其关联的`Post`实体。 在`Post`实体中,我们需要定义一个反向的`ManyToOne`关联: ```java public ...

    11_JPA详解_JPA中的一对多延迟加载与关系维护.zip

    JPA提供了两种方式来维护一对多关系:`CascadeType.ALL`和`CascadeType.MERGE`。`CascadeType.ALL`意味着对父实体进行的操作(如保存、更新、删除)会级联到所有子实体。`CascadeType.MERGE`则表示仅在合并父实体时...

    一对一双向映射例

    在`Person`类中,同样使用了`@OneToOne`注解,但这里`optional = true`表示`Person`可以没有对应的`IDCard`,`cascade = CascadeType.ALL`表示对`Person`的所有级联操作(包括保存、更新、删除等)都会影响到`IDCard...

    hibernate一对一一对多多对多实例工程

    常见的级联类型有`CascadeType.SAVE_UPDATE`、`CascadeType.DELETE`、`CascadeType.ALL`等。合理设置级联操作可以避免数据不一致,但需谨慎使用,防止不必要的数据丢失。 **5. 缓存策略(Cache)** 为了提高性能,...

    Hibernate one to one详细配置

    `CascadeType.ALL`表示所有操作(包括保存、更新、删除等)都会自动应用到关联的对象。可以自定义级联类型,如只包含`CascadeType.SAVE_UPDATE`。 **五、懒加载与立即加载** 默认情况下,关联对象可能会被立即加载...

    hibernate外键实现一对一双向关联关系源码

    `CascadeType.ALL`表示所有对`User`的操作(如保存、更新、删除)都会自动应用到关联的`Profile`对象上。这可以简化数据操作,但需要注意可能会引发的级联删除问题。 4. **@JoinColumn**: `@JoinColumn`用于指定...

Global site tag (gtag.js) - Google Analytics