У меня есть таблица в базе данных SQL, в которой есть повторяющиеся записи (что означает, что я не могу создать составной ключ) и нет первичного ключа.
Я хочу иметь возможность получать все записи, которые соответствуют определенному столбцу accountRef.
Короче говоря, я хотел бы выполнить следующий запрос:
SELECT * from table where accountRef='xyz'
, где 'xyz' будет вводом пользователя.
Проблема, с которой я сталкиваюсь, заключается в том, что использование @Entity не позволяет мне не указывать идентификаторы.Есть ли способ, которым я могу обойти это?Вот мой код BasicAccountAudit.java
@XmlRootElement
@Entity
//@Embeddable
@Table(name = "tb_Account_History", schema="dbo")
public class BasicAccountAudit implements Serializable{
private String accountRef;
private String client;
//getters and setters
BasicAccountAuditRepository.java
@Repository
public interface BasicAccountAuditRepository extends CrudRepository<BasicAccountAudit, Integer> {
List<BasicAccountAudit> findAll();
List<BasicAccountAudit> findByAccountRef(String accountRef);
}
Что я пробовал
Я пытался использовать @Embeddableно это дает мне эту ошибку:
org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания бина с именем 'basicAccountController': неудовлетворительная зависимость, выраженная через метод 'setBasicAccountDao' параметр 0;вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка создания бина с именем 'basicAccountDaoImpl': неудовлетворительная зависимость, выраженная через метод 'setBasicAccountAuditRepository', параметр 0;вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем BasicAccountAuditRepository: сбой вызова метода init;вложенным исключением является java.lang.IllegalArgumentException: не управляемый тип: