J'ai une requête SQL comme ceci: "Select UIProfileID from UserTable where UPPER(UserID) = UPPER('?1')"
.Comment faire pour convertir une requête SQL en requête Spring JPA
Je veux le convertir en Spring JPA. Je veux écrire getUIProfileId()
et retourner Integer. Mais je ne sais pas comment mettre en œuvre. Parce que la table utilisateur n'a pas UIProfileId
colonne qu'il a été joint à partir de UIProfileTable
table. S'il vous plaît, aidez-moi à le résoudre. À l'heure actuelle , j'ai tableaux:
User.java
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Table(name = "UserTable")
public class User {
@Column(name = "UserID", length = 32, nullable = false)
@Id
private String name;
@ManyToOne
@JoinColumn(name = "DomainID", nullable = false)
private Domain domain;
@Column(name = "Password", length = 32, nullable = false)
private String password;
@ManyToOne
@JoinColumn(name = "UIProfileID", nullable = false)
private UIProfile uiProfile;
@Column(name = "ResPerpage", nullable = false)
private Integer resperpage;
@Column(name = "DefaultTab")
private Integer defaulttab;
@ManyToOne
@JoinColumn(name = "AdminProfile")
private AdminProfiles adminProfile;
@Column(name = "LanguageId")
private Integer languageId;
}
UIProfile.java
@Entity
@Getter
@Setter
@Table(name = "UIProfileTable")
public class UIProfile implements Serializable {
@Id
@Column(name = "UIProfileID", length = 11, nullable = false)
private Integer id;
@Column(name = "UIProfileName", length = 32, nullable = false)
private String name;
@OneToMany(mappedBy = "id.uiProfile")
private List<UIProfileTopLevel> topLevels;
}
UserRepository.java
public interface UserRepository extends Repository<User, String> {
Optional<User> findOne(String name);
@Query("Select UIProfileID from User where UPPER(UserID) = UPPER('admin')")
Integer getUIProfileId();
}
Salut, Ajit Soman. Il retournera l'objet UIProfile ne peut pas être converti en java.lang.Integer –
@ Ajit Soman. Je veux obtenir l'ID de UIProfileTable @Column (name = "UIProfileID", longueur = 11, nullable = false) private Integer id ;. –
J'ai édité ma réponse –