yux*_*uxh 7 java hibernate spring-data-jpa
我使用spring数据jpa,这是我的样本:
public interface UserRepository extends JpaRepository<User, Long> {
User findByUserName(String userName);
....}
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepositoryTests {
@Autowired
private UserRepository userRepository;
@Test
public void test1(){
String name = userRepository.getOne(3L).getUserName();
}
}
@Entity
public class User extends Entitys implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Integer id;
@Column(nullable = false, unique = true)
private String userName;
..}
Run Code Online (Sandbox Code Playgroud)
test1将抛出"LazyInitializationException:无法初始化代理 - 无会话",但如果我使用userRepository.findByUserName("aa").getUserName()就可以了.虽然问题可以通过添加@Transactional来解决,但我想知道其背后的原因和原因.
我在/sf/answers/2406965361/中找到了anwser的一部分,但是findByUserName中的事务如何工作?
归档时间: |
|
查看次数: |
2486 次 |
最近记录: |