2014-12-02 44 views
0

我可以使用方法注入查找 - 带有实体类?.I使用Spring + JPA + Hibernate。这允许将一个原型bean注入到一个singleton bean中。这对于实体bean也是可能的吗?A是原型scoped bean。我想将A(@Entity)放入类为B(例如DAO)的scope = singleton.ThanksSpring:方法注入查找如何使用它?

@Entity 
public class A(){ 

    private String name; 
    private String surname; 

    ...//get and set 
}//A 

public interface DAO{ 
    public void method(); 
}//DAO 

public class DAOImpl implements DAO{ 
    private A object_a; 

    public void method(){ 
    //In this method I use everytime a new istance of A 
    }//method 
}//DAOImpl 

回答

0

你可以使用@Embedded来包含你的子bean,并在你的sql中使用。

@Entity 
public class User(){ 

    private String name; 

    @Embedded 
    private Address address; 

    @Bean(scope=DefaultScopes.PROTOTYPE) 
    public User() { 
    } 

    ...//get and set 
} 


@Entity 
public class Address(){ 
    private String name; 
    ...//get and set 
} 

public interface UserRepository extends JpaRepository<User, Long> { 
    @Query(value = "select u from users u where u.address.name = :addressName") 
    List<Blog> findUserByAddress(@Param("addressName") String addressName); 
} 
+0

我想提出一个实体bean(A)与范围=原型与范围正常豆= sigleton(例如,为DAO) – Alex 2014-12-02 09:36:15

+0

您可以添加'@Bean(范围= DefaultScopes.PROTOTYPE)'在你的类构造函数上试试。 – zhaozhiming 2014-12-02 10:24:59

+0

我想使用查找方法注入 – Alex 2014-12-02 13:48:10

相关问题