小编Mat*_*ist的帖子

将Hibernate实体重构为子类

我有一个类,当前使用Hibernate映射为数据库表中的实体.该类应该重构为一个抽象类,其中包含一些对其所有子类通用的字段.

我正在使用注释来映射hibernate实体/关系类.

我想了解如何进行这种重构的建议/变体.

另外,关于如何将存储在数据库中的数据(对于将来的抽象超类)移动到其中一个具体子类中的一些建议.

java database refactoring hibernate

6
推荐指数
1
解决办法
6575
查看次数

无法在Mac OS X上获得SWT显示

我正在运行Mac OS X Snow Leopard并且不想从OSGi包中的激活器访问显示器.

以下是我的激活器的启动方法:

@Override
public void start(BundleContext context) throws Exception {
    ExecutorService service = Executors.newSingleThreadExecutor();
    service.execute(new Runnable() {

        @Override
        public void run() {
            Display display = Display.getDefault();
            Shell shell = new Shell(display);
            Text helloText = new Text(shell, SWT.CENTER);
            helloText.setText("Hello SWT!");
            helloText.pack();
            shell.pack();
            shell.open();
            while (!shell.isDisposed()) {
                if (!display.readAndDispatch())
                    display.sleep();
            }
            display.dispose();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

在Windows环境中调用此代码可以正常工作,但在Mac OS XI上部署会得到以下输出:

2009-10-14 17:17:54.050 java[2010:10003] *** __NSAutoreleaseNoPool(): Object 0x101620d20 of class NSCFString autoreleased with no pool in place - just leaking
2009-10-14 …

swt osgi eclipse-rcp

6
推荐指数
1
解决办法
3647
查看次数

Hibernate和Spring事务 - 使用私有构造函数/静态工厂方法

我们有一个Hibernate/Spring应用程序,它具有以下Spring bean:

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" />
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" />
Run Code Online (Sandbox Code Playgroud)

将应用程序连接在一起时,在我们的hibernate实体中使用私有构造函数时会出现以下错误:

Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: No visible constructors in class 'ourclass'
Run Code Online (Sandbox Code Playgroud)

实体是典型的域对象,例如Employee等.

将构造函数的可见性修饰符更改为包(或公共)时,应用程序运行正常,实体将存储/加载到数据库中.我们如何/可以在Spring/Hibernate事务管理中使用私有构造函数/静态工厂方法?

我们使用Hibernate注释来映射实体/关系.applicationContext.xml中没有为与该问题相关的域类声明bean定义.它是一个pojo,应该有一个静态工厂方法和一个私有构造函数.

我怎样才能使Hibernate(org.springframework.spring-orm.hibernate3类)使用静态工厂方法而不是构造函数?或者可能在必要时调用私有构造函数?

使用spring factory-method配置是有意义的,但实体不会在applicationContext.xml中映射为bean.它们仅使用Hibernate持久性的@Entity注释进行注释.

希望这个编辑能够澄清(而不是神秘)这个问题.:)

java spring hibernate transactions

2
推荐指数
1
解决办法
5634
查看次数