Hibernate查询未返回结果,但CLI上的同一查询返回1个结果


我有一个'Employer‘类,我在其中添加了两列: eop_filename,eop_directory。我可以使用数据库的本地docker实例在本地运行结果,但是当我将代码放在测试服务器上时,我没有得到任何结果。

Java 11

MySQL服务器版本: 5.7.31-0ubuntu0.18.04.1 (Ubuntu)

我用下面的代码添加了它们

ALTER TABLE Employer ADD eop_filename VARCHAR(16);
ALTER TABLE Employer ADD eop_directory VARCHAR(24);

我将数据添加到每行中的一行,以便在运行以下查询时获得1个结果

mysql> select eop_filename, eop_directory FROM Employer WHERE eop_filename is not null and eop_directory is not null;
+--------------+---------------+
| eop_filename | eop_directory |
+--------------+---------------+
| XYZ_2222     | demogroup     |
+--------------+---------------+

在我的Java代码中,我在存储库中执行以下操作

@Repository
public class EmployerDaoImpl implements EmployerDao {
   private static final Logger log = LoggerFactory.getLogger(EmployerDaoImpl.class);

   private final SessionFactory sessionFactory;

   @Autowired
   public EmployerDaoImpl(SessionFactory sessionFactory) {
      this.sessionFactory = sessionFactory;
   }

   @Override
   public List<EopSftp> getEOPFilenamePatterns() {
      try {
          String query = "SELECT eop_filename, eop_directory FROM Employer WHERE eop_filename is not null AND eop_directory is not null";
          Query q = sessionFactory.getCurrentSession().createQuery(query);
          List<Object[]> results = q.getResultList();
          log.info("results size: " + results.size());
    ...

我在日志中得到了以下内容。

2020-09-25 10:51:14.403 [ajp-nio-8009-exec-193] INFO  c.a.service.EOPFileProcessingService - Begin processing EOP Files.
2020-09-25 10:51:14.566 [ajp-nio-8009-exec-193] INFO  com.als.dao.EmployerDaoImpl - results size: 0

我的Employer类(我讨厌下划线,但它遵循其他变量名称的约定)。

@Entity
public class Employer() {
   ...
   @Column(length=16)
   private String eop_filename;

   @Column(length=24)
   private String eop_directory;
   
   ...
   public String getEop_filename() {
      return eop_filename;
   }

   public void setEop_filename(String eop_filename) {
      this.eop_filename = eop_filename;
   }

   public String getEop_directory() {
      return eop_directory;
   }

   public void setEop_directory(String eop_directory) {
      this.eop_directory = eop_directory;
   }

转载请注明出处:http://www.eluwawa.com/article/20230526/1368332.html