Ich habe eine SQL-Abfrage wie folgt: "Select UIProfileID from UserTable where UPPER(UserID) = UPPER('?1')"
.So konvertieren Sie eine SQL-Abfrage in Spring JPA-Abfrage
Ich möchte es in Spring JPA konvertieren. Ich möchte getUIProfileId()
schreiben und Integer zurückgeben. Aber ich weiß nicht, wie ich es umsetzen soll. Weil die Benutzertabelle keine UIProfileId
Spalte hat, aus der sie von der Tabelle UIProfileTable
beigetreten ist. Bitte hilf mir, es zu lösen. Derzeit habe ich Tabellen:
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();
}
Hallo, Ajit Soman. Es wird zurückgegeben werden UIProfile Objekt kann nicht in java.lang.Integer –
@ Ajit Soman umgewandelt werden. Ich möchte ID von UIProfileTable @Column erhalten (name = "UIProfileID", length = 11, nullable = false) private Ganzzahl id ;. –
Ich habe meine Antwort bearbeitet –