拥有不使用数据库的实体类是否可以?

时间:2015-06-09 10:33:21

标签: java hibernate validation servlets

我有一个使用注释的程序和另一个使用第一个作为依赖的程序。由于persistance.xml,我能够做到这一点。但是我将验证器类添加到第一个(桌面应用程序),因为第二个是Web应用程序并且有一些新的可能性,如附加文件,所以我为它创建了验证器类。此时我在第二个程序源中为它创建了dao和模型层,但我想将它添加到第一个程序源中。

如果我没有在此类中添加标记@Entity,那么我可以将其添加到persistence.xml,以便我的第二个程序找不到该源。

当Validator没有并且不使用数据库并且没有表格时,可以添加@Entity吗?

我知道它有效,因为我测试了它,但我想知道这是否是好态度。 如果没有,我怎么能以不同的方式完成它?

此外,如果验证器类为空,我的意思是它没有任何字段,只有一种方法可以验证返回true或false,是否可以为它制作dao层和模型层?

Atm是:Validator类,ValidatorDao类和ValidatorDaoInterface接口。

这是正确的方法吗?

模型:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package xxx.model;

/**
 *
 * @author 
 */
public class Validator {

}

DAO:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package xxx.dao;

import javax.servlet.http.Part;

/**
 *
 * @author 
 */
public class ValidatorDao implements ValidatorDaoInterface {

    @Override
    public boolean validateFile(Part part, int numberOfFiles) {

     /*TODO*/

    }

}

接口:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package xxx.dao;

import javax.servlet.http.Part;

/**
 *
 * @author 
 */
public interface ValidatorDaoInterface {

    public boolean validateFile(Part part, int numberOfFiles);

}

1 个答案:

答案 0 :(得分:0)

是的,您可以在@Entity文件中排除未使用Persitence.xml注释的类。

只需将此行添加到persitence-unit

即可
<exclude-unlisted-classes>true</exclude-unlisted-classes>

并且您不必使用@Entity注释验证程序类,因为这是错误的。