我有一个服务,可以用HQL将许多对象存储到数据库中。但我有个例外
javax.persistence.TransactionRequiredException: no transaction is in progress
at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:789)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAcces
多年来,我一直在使用AOP,但对解决方案并不是100%满意。具有运行时编织的面向方面编程框架,如Spring.AOP,不能改变类的接口。使用Postsharp这样的后编译时框架(有人认识其他人吗?)你可以的。查看此示例,它将INotifyPropertyChanged实现添加到您的类中。->
这个AOP特性真的很棒,但是你很快就会遇到麻烦……如果要访问宿主程序集中的新接口,则无法编译,因为该接口是在编译后添加的。所以你会得到一个"PropertyChanged is not defined"-error。因此,您必须通过将类分离到另一个程序集来解决这个问题,这样您就可以