我想知道,当我试图在数据库中创建并持久化对象时,处理异常的最佳方法。
因此,我有一个名为Rule的表,其中包含getter和setter:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private int id;
@Column(name = "type", nullable = false, unique = true)
private String type;
@Column(name = "hint", nullable = false)
private String hint;
@Column(name = "help", nullable = false)
private String help;
@Enumerated(EnumType.STRING)
@Column(name = "language", nullable = false)
private Language language;
@OneToMany(mappedBy = "rule")
@Column(name = "user_rule")
private Set<UserRule> user_rule;
@OneToMany
@JoinColumn(name = "rule_id")
private Set<Sentence> sentence;
public static Rule create(EntityManagerFactory factory, String type, String hint, String help, Language language) {
EntityManager em = factory.createEntityManager();
EntityTransaction transaction = null;
Rule new_rule = new Rule();
try {
transaction = em.getTransaction();
transaction.begin();
new_rule.setType(type);
new_rule.setHint(hint);
new_rule.setHelp(help);
new_rule.setLanguage(language);
em.persist(new_rule);
transaction.commit();
} catch (Exception ex) {
if (transaction != null) {
transaction.rollback();
}
throw ex;
} finally {
em.close();
}
return new_rule;
}
try
块的内容引发异常,以测试是否引发了异常(我应该引发所有异常吗?)
create
如何传输错误或异常(通过hibernate/jpa,或者我应该像往常一样自己处理它?)
如果你有任何其他建议,请告诉我!
提前感谢你的帮助。
可能下面的链接会给你最好的异常处理机制。
https://examples.javacodegeeks.com/enterprise-java/hibernate/hibernate-exception-handling-example/
https://blog.takipi.com/5-common-hibernate-exceptions-and-how-to-fix-them/
本文向大家介绍Java中断异常的正确处理方法,包括了Java中断异常的正确处理方法的使用技巧和注意事项,需要的朋友参考一下 处理InterruptedException 这个故事可能很熟悉:你正在写一个测试程序,你需要暂停某个线程一段时间,所以你调用 Thread.sleep()。然后编译器或 IDE 就会抱怨说 InterruptedException 没有抛出声明或捕获。什么是 Interru
假设我有一个类Person,具有不同数据类型的不同属性,我在我的主方法中有这样的代码: 现在,假设高度的赋值引发了一个异常,例如InvalidCastException,代码将停止执行,并且可能会记录一些东西,以防我有一个记录表。问题是,从日志中,我无法确切地理解哪一行和赋值抛出了异常。 是否有任何方法可以捕获异常,并能够记录(数据库中的某个位置)哪个赋值引发异常,以及在这种情况下针对哪种类型的强
我使用JPA和Hibernate作为容器管理事务的提供者(JBossAS 6.1.0.Final)。 我正在尝试实现一些细粒度的异常处理,因为我的应用程序上有一个特定的异常层次结构,所以我可以定义在任何情况下要做什么。因此,我已经研究了几个小时,发现文档很模糊,示例也有些原始,因为“为了清晰起见”总是忽略异常处理,或者是一个简单的try-catch块,用于处理异常e。 例如,采用以下代码: cat
问题内容: 我一直在概念上为我的项目决定异常处理结构。 假设您有一个示例: 还有两个子类FileData和StaticData,它们从某些指定的文件中读取数据,StaticData仅返回一些预定义的常量数据。 现在,在读取文件时,可能会在FileData中引发IOException,但是StaticData将永远不会抛出。大多数样式指南建议在调用堆栈上传播Exception,直到有足够的上下文可以
我正在开发一个具有DAO、服务、控制器和视图层的Spring web应用程序。JPA用于数据库访问。我用于JPA异常处理的方法如下所示。 我想在异常中获得更多信息,这就是创建自定义DBException的原因,也不想将PersistenceException传播到其他层。 我正在捕获并重新抛出。由于是一个,我认为spring事务在发生异常时应该回滚? 多谢了。
首先,我是iOS和Swift的新手,来自Android/Java编程的背景。因此,对我来说,在空间不足、文件权限问题或其他任何可能发生在文件上的情况下(根据我的经验,已经发生过),捕捉试图写入文件时的异常是第二天性。我也明白在Swift中,异常不同于Android/Java的异常,所以这不是我在这里要问的。 我试图使用NSFileHandle追加到一个文件中,如下所示: 但是,和函数都指示它们抛出