簡體   English   中英

Hibernate 查詢不返回結果,但 CLI 上的相同查詢返回 1 個結果

[英]Hibernate query not returning results but the same query on CLI returns 1 result

我有一個“雇主”類,我在其中添加了兩列:eop_filename、eop_directory。 我可以使用數據庫的本地 docker 實例在本地運行結果,但是當我將代碼放在測試服務器上時我沒有得到任何結果。

爪哇 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

我的雇主類(我討厭下划線,但它遵循其他變量名稱的約定)。

@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;
   }

List<Object[]> results = q.getResultList();

=> 列出結果 = q.getResultList();

btw 顯示EopSftp類?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM