代码之家  ›  专栏  ›  技术社区  ›  DaeYoung

是否可以将spring数据jpa存储库注入java持久实体?

  •  1
  • DaeYoung  · 技术社区  · 6 年前

    我有这样的personjava实体模型。

    @Entity
    @Table(name="PERSON")
    public class Person implements Serializable {
        @Id
        @Column(name="PERSON_ID",nullable=false)
        private UUID personId;
        ...
    

    public interface PersonRepository extends JpaRepository<Person,UUID> {
        @Query("from Person where Person.id = ?1")
        Person findPersonById(UUID id);
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Alexander Petrov    6 年前

    不,你不应该这样做。JPA实体是从JPA提供者生命周期中处理的。JPA规范明确禁止在PrePersist、PreUdate等侦听器中执行任何数据库操作。从实体内部执行任何与活动持久性相关的操作可能会产生意想不到的副作用。

    关于是否可能的问题。一切皆有可能:)但并不意味着这是个好主意。

    未管理 因此,如果您真的想在spring中进行依赖注入,您需要AspectJ参与执行代码编织。