Skip to content

No constructors warning for HQL using DTO class constructor #9542

Description

@Eccenux

Apache NetBeans version

Apache NetBeans 30

What happened

I keep getting a warning "No constructors can de found that match the argument types" for HQL with DTO class.

Language / Project Type / NetBeans Component

Java Maven Web application project

How to reproduce

Package structure (simplified):

  • webapp (REST controllers)
    • api (interface, dto)
    • core (DAO, service)
      • api (interface, dto)
      • ent (entities)

in example-api:

package com.example.domain;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class ResourceCategoryMini {
	private Long id;
	private Boolean active;
	private String label;
	private String description;
}

in example-core:

package com.example.core.dao;

import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.example.domain.ResourceCategoryMini;

@Repository
public class ResourceCategoryDAO {
	@Autowired
	protected SessionFactory sessionFactory;

	/**
	 * Returns a minimal resource category list.
	 *
	 * @return resource category list
	 */
	public List<ResourceCategoryMini> listMini() {
		Session session = sessionFactory.getCurrentSession();

		var results = session.createQuery("""
			select new com.example.domain.ResourceCategoryMini(
				r.id,
				r.active,
				r.label,
				r.description
			)
			from ResourceCategoryEntity r
			order by id asc
			""", ResourceCategoryMini.class)
			.getResultList();

		return results;
	}
}

Did this work correctly in an earlier version?

No

Operating System

Windows 11 version 10.0 running on amd64; UTF-8; pl_PL (nb)

JDK

Runtime: OpenJDK Runtime Environment 21.0.8+9-LTS

Apache NetBeans packaging

Community provided installer

Anything else

Image

That error is always shown when using DTO class in HQL.

Oh, and the project is based on Spring MVC + Hibernate + HikariCP data-source if that matters.

Are you willing to submit a pull request?

No

Pinned by mbien

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:bugBug report or fixneeds:triageRequires attention from one of the committers

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions