hibernate jpa的一对多级联删除配置

这篇博客主要介绍了Hibernate中一对多关系的级联删除配置。通过代码示例展示了User和Log两个实体类的关联,并解释了不同级联类型的作用,如`delete-orphan`用于一对多关系中的孤儿删除,确保当一方与多方解除关系时,多方记录会被自动删除。此外,还提到了持久化对象的三种状态:Transient、Persistent和Detached。

自己的代码修正,记着避免忘记

先贴上代码

一方:User.java

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
@Entity
@Table
public class User implements Serializable {
   
   
	private static final long serialVersionUID = 1L;
	private Integer uid;
	private String email;
	private String password;
	private String signature;
	private String image;
	private Integer sex;
	private String username;
	private String verifyCode;
	private List<Log> logList = new ArrayList<Log>();
	
	/**
	 * @return the logList
	 */
	@OneToMany(targetEntity=Log.class, orphanRemoval=true)
	@JoinColumn(name = "ulid")
	public List<Log> getLogList() {
   
   
		return logList;
	}

	/**
	 * @param logList
	 *            the logList to set
	 */
	public void setLogList(List<Log> logList) {
   
   
		this.logList = logList;
	}

	/**
	 * @return the verifyCode
	 */
	@Transient
	public String getVeri
使用launch4j-maven-pluginJava应用程序打包成Windows可执行文件(EXE),具体步骤如下: 1. **前提条件**:安装Java Development Kit (JDK),安装Maven,拥有一个Java应用程序项目[^1]。 2. **添加插件到pom.xml**:在项目的`pom.xml`文件中添加`launch4j-maven-plugin`插件,同时还可按需添加其他必要插件。例如添加`maven-compiler-plugin`用于编译项目代码,设置编译的源码版本和目标版本等;添加`maven-shade-plugin`用于在项目构建生命周期的`package`阶段将项目的所有依赖项合并到单个可执行的JAR文件中,简化部署和运行过程。示例如下: ```xml <build> <plugins> <!-- maven-compiler-plugin 用于编译项目代码 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <optimize>true</optimize> </configuration> </plugin> <!-- maven-shade-plugin 用于创建包含所有依赖的可执行JAR --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.MainClass</mainClass> <!-- 替换为你的主类 --> </transformer> </transformers> </configuration> </execution> </executions> </plugin> <!-- launch4j-maven-plugin 用于将JAR打包成EXE --> <plugin> <groupId>com.akathist.maven.plugins</groupId> <artifactId>launch4j-maven-plugin</artifactId> <version>1.7.26</version> <executions> <execution> <id>l4j-clui</id> <phase>package</phase> <goals> <goal>launch4j</goal> </goals> <configuration> <headerType>console</headerType> <outfile>target/yourApp.exe</outfile> <!-- 生成的EXE文件名 --> <jar>target/yourApp-jar-with-dependencies.jar</jar> <!-- 前面shade生成的JAR --> <errTitle></errTitle> <cmdLine></cmdLine> <chdir>.</chdir> <priority>normal</priority> <downloadUrl>http://java.com/download</downloadUrl> <supportUrl></supportUrl> <customProcName>false</customProcName> <stayAlive>false</stayAlive> <manifest></manifest> <icon></icon> <jre> <path></path> <bundledJre64Bit>false</bundledJre64Bit> <bundledJreAsFallback>false</bundledJreAsFallback> <minVersion>1.8.0</minVersion> <maxVersion></maxVersion> <jdkPreference>preferJre</jdkPreference> </jre> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 3. **打包生成EXE文件**:通过`mvn`命令打包即可生成对应的文件。需注意,如果设置了引用JRE或者其他Maven插件编译的lib包位置,相对路径要保证EXE文件对应位置有目标引用,绝对路径要保证文件真实存在,否则启动异常[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值