Je suis actuellement un peu bloqué avec ceci et je ne peux pas le voir clairement.
Hibernate récupérant l'objet lié à l'utilisateur actuel
J'espère donc que l'un d'entre vous ont une bonne idée de me aider.
Le code important en ce moment:
@Entity
@Table(name = "T_NOTA_RECIPIENT")
public class NotaRecipient extends PersistentEntity {
@Id
@Column(name = "NOTA_RECIPIENT_SID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Column(name = "STATUS", insertable = true, updatable = true)
@Enumerated(EnumType.STRING)
private Status status = Status.NEW;
@ManyToOne
@JoinColumn(name = "NOTA_SID", referencedColumnName = "NOTA_SID", nullable = false)
private Nota nota;
@ManyToOne
@JoinColumn(name = "CREATOR_OFFICE_SID", referencedColumnName = "OFFICE_SID", nullable = false)
private Office creator;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "notaRecipient")
private Set<FollowUp> followUps;
...
}
Maintenant, en fait je ne veux pas charger tous les FollowUp
qui sont dans le DB, mais seulement celui de l'utilisateur actuel.
Mais le problème est que je veux inclure le suivi afin que je puisse faire une requête de pagination de base de données.
Nous utilisons hibernate, Spring Data et Query DSL avec BooleanBuilder pour "affiner" notre recherche.
Je pensais utiliser @Formula
mais cela doit être une chaîne de caractères constante, donc je ne peux pas inclure userId courant dans cela.
La deuxième solution peut être de définir le suivi comme @Transient
et de le récupérer moi-même dans la base de données et de le définir dans le service de mine.
Problème ici est que je ne peux pas l'utiliser comme filtre alors ou en passant commande.
@Formula
n'a pas beaucoup de documentation, donc est-il possible de faire un utilisateur @Transient
et l'utiliser dans le @Formula
?
J'ai demandé quelques collègues, mais ils ne pouvaient pas me aider.
Alors il est le temps de demander ici. Je peux obtenir l'utilisateur actuel dans l'API, donc ce n'est pas un problème.
Quelqu'un at-il des solutions alternatives?
Comment Détectez-vous l'utilisateur actuel? – StanislavL
Je vient le chercher par 'SecurityUtil.getUser()' qui va chercher dans la 'SecurityContextHolder' – chillworld